当前位置: 首页 > news >正文

ARM开发板基础与文件传输

ARM 开发板使用(以 GEC6818 为例)

GEC6818 是嵌入式开发常用的 ARM 平台,搭载三星Cortex-A53 八核处理器(最高 1.4GHz),支持 Linux/Android 系统,适用于驱动开发与应用测试。

开发板核心资源

类别具体参数
处理器三星 S5P6818(Cortex-A53 架构,8 核,1.4GHz)
支持系统嵌入式 Linux、Android
外设接口千兆以太网、LVDS 接口(显示屏)、MIPI 接口(摄像头)、USB、串口、网口
存储板载 8G 存储 IC(分多个分区,部分分区未启用,可扩容)

开发板连接与启动

步骤 1:硬件接线

  • 供电:用 5V 电源适配器连接开发板电源接口(注意电压,避免烧板);

  • 数据通信

    • 串口连接:用 “USB 转串口线” 连接开发板串口与电脑 USB 口(无串口的笔记本必用);

    image

    • 网口连接:用网线连接开发板网口与路由器(用于高速文件传输)。

步骤 2:安装 USB 转串口驱动

  • 电脑需安装驱动(常见芯片:CH340 (CH343SER.EXE - 南京沁恒微电子股份有限公司)或 PL2303,驱动文件可从官网下载);

  • 验证驱动:右键 “此电脑”→“管理”→“设备管理器”→“端口(COM 和 LPT)”,若显示 “Prolific USB-to-Serial Comm Port (COMX)”(如 COM9),说明驱动安装成功(COMX 为端口号,每次连接可能变化)。

    image

步骤 3:用 SecureCRT 连接开发板(串口监控)

SecureCRT 是串口调试工具,用于查看开发板启动日志、输入 Linux 命令。

  • 打开 SecureCRT,点击 “快速连接”

    image

  • 协议选择 “Serial”(串口),配置参数:

    image

  • 点击 “连接”,若左上角出现绿色对勾,说明连接成功。

    image

步骤 4:启动开发板

  • 拨动开发板电源开关(往上拨),SecureCRT 中会显示启动日志;

  • 若启动卡在某一行不动:原因是开发板自动运行的应用占用了终端,按 Ctrl+C 强制结束进程,即可进入 Linux 命令行(默认用户为 root,无需密码)。

    image

开发板文件传输(3 种方案)

开发板的 Linux 系统是 “裁剪版”,仅支持运行程序,不支持编辑和编译,需从电脑传输已编译好的文件。

方案 1:串口传输(rx/rz 命令,适合小文件)

  • rx 命令(单次传 1 个文件,慢)

    • 开发板终端进入工作目录(如cd /workspace);

    • 输入 rx 文件名(如rx demo.c);

      image

    • SecureCRT 菜单栏 “传输”→“发送 Xmodem”,选择电脑中的文件,等待传输完成。

      image

      image

      image

  • rz 命令(单次传多个文件,快)

    • 先将rz工具传到开发板:用 rx 命令传输rz文件;

      image

    • 赋予rz执行权限:chmod 777 rz

    • 移动rz到系统命令目录(让所有目录都能调用):mv rz /bin

    • 使用:输入rz,弹出文件选择窗口,勾选多个文件即可传输。

      image

    • 注意:可修改secureCRT软件下载文件的路径,固定每次弹出窗口的路径位置,快速定位下载文件,如下所示

      image

方案 2:网络传输(TFTP,适合大文件)

TFTP 是轻量级文件传输协议,需开发板与电脑在同一局域网(如连同一路由器)。

  • 电脑端配置

    • 打开 TFTP 工具(如 tftpd32.exe);

    • 设置 “Current Directory” 为电脑中文件存放路径(如C:\code);

    • 确认 “Server interface” 选择与开发板同网段的 IP(如 192.168**.3**.13)。

      image

  • 开发板端操作

    • 查看开发板 IP:输入ifconfig,eth0 后的 “inet addr” 即为 IP(如 192.168.3.12);
    • 若 IP 与电脑不同网段,手动配置:ifconfig eth0 192.168.3.12(单次有效,重启失效);
    • 下载文件(电脑→开发板):tftp -g 电脑IP -r 文件名(如tftp -g 192.168.3.13 -r demo_arm);
    • 上传文件(开发板→电脑):tftp -p 电脑IP -r 文件名(如tftp -p 192.168.3.13 -r log.txt)。

方案 3:U 盘传输(适合无网络场景)

  • 将文件拷贝到 U 盘(格式为 FAT32);
  • U 盘插入开发板 USB 口;
  • 开发板终端挂载 U 盘:mount /dev/sda1 /mnt/udisk(/dev/sda1 为 U 盘设备名,/mnt/udisk 为挂载目录,需先创建);
  • 访问 U 盘文件:cd /mnt/udisk

开发板存储扩容(挂载未使用分区)

开发板根目录(/)空间有限(约 300M),需挂载未使用的大分区(如 mmcblk0p7,约 6G)。

  • 查看分区情况:cat /proc/partitions,找到未使用的分区(如 mmcblk0p7);

    image

  • 格式化分区(FAT32 格式):mkfs.vfat /dev/mmcblk0p7(清除分区原有数据,谨慎操作);

    image

  • 创建工作目录:mkdir /workspace(用于挂载分区);

    image

  • 挂载分区:mount -t vfat /dev/mmcblk0p7 /workspace(-t 指定格式为 vfat);

    image

  • 验证挂载:df -h,若显示/dev/mmcblk0p7挂载到/workspace,且大小约 6G,说明成功;

    image

  • 设置开机自启(避免重启后挂载失效):

    • 编辑自启脚本:vi /etc/profile

      image

    • 在文件末尾添加:mount -t vfat /dev/mmcblk0p7 /workspace

    • 重启开发板:reboot

交叉编译工具安装(ARM-linux-gcc)

开发板(ARM 架构)无法编译程序,需在电脑(X86 架构)上用交叉编译器编译出 ARM 能运行的文件,核心工具为arm-linux-gnueabi-gcc(5.4.0 版本常用)。

核心概念

  • 交叉编译:在 A 架构(如 X86)编译出能在 B 架构(如 ARM)运行的程序;
  • 编译器区别:gcc用于 X86 程序编译,arm-linux-gcc用于 ARM 程序编译。

安装步骤(Ubuntu 系统)

步骤 1:拷贝压缩包到 Linux

  • 将交叉编译器压缩包(如arm-linux-gnueabi-5.4.0.tar.xz)放到 VMware 共享文件夹(如/mnt/hgfs/share);
  • 拷贝到 Linux 家目录(避免共享文件夹权限问题):cp /mnt/hgfs/share/arm-linux-gnueabi-5.4.0.tar.xz ~/(~ 表示家目录,如 /home/gec)。

步骤 2:解压压缩包

  • 先解压 xz 格式:xz --decompress arm-linux-gnueabi-5.4.0.tar.xz(生成.tar 文件);
  • 再解压 tar 格式:tar xf arm-linux-gnueabi-5.4.0.tar(生成usr文件夹,包含编译器文件)。

步骤 3:配置环境变量

环境变量用于让 Linux 在任何目录都能调用arm-linux-gcc

  • 进入编译器二进制文件目录:cd ~/usr/local/arm/5.4.0/usr/bin(路径需与解压后的实际路径一致);
  • 查看当前路径:pwd,复制输出(如/home/gec/usr/local/arm/5.4.0/usr/bin);
  • 编辑环境变量配置文件:vi ~/.bashrc
  • 在文件末尾添加:export PATH=/home/gec/usr/local/arm/5.4.0/usr/bin:$PATH($PATH 表示保留原有环境变量);
  • 让配置生效:source ~/.bashrc

步骤 4:验证安装

输入 arm-linux-gcc -v,若显示版本信息(如gcc version 5.4.0),说明安装成功。

常见错误解决

  • 错误:error while loading shared libraries: libmpfr.so.4原因:系统缺少libmpfr.so.4库文件(Ubuntu 默认是libmpfr.so.6)。解决:创建软链接映射:sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
  • 错误:./demo_arm: cannot execute binary file原因:在 X86 系统运行 ARM 程序(demo_arm是 ARM 可执行文件)。解决:将demo_arm传到开发板,在开发板上运行。

交叉编译实战

  • 编写测试代码(demo.c):

    #include <stdio.h>
    int main() {printf("Hello ARM!\n");return 0;
    }
    
  • 交叉编译:arm-linux-gcc demo.c -o demo_arm(生成 ARM 可执行文件demo_arm);

  • 传输到开发板:用 rz 命令将demo_arm传到/workspace

  • 开发板运行:

    • 赋予权限:chmod 777 demo_arm
    • 执行:./demo_arm,输出 “Hello ARM!”,说明成功。

集成开发工具(MobaXterm 与 VSCode)

嵌入式开发中,用单一工具替代多个软件(如 SecureCRT、VMware、TFTP),可提升效率,常用工具为 MobaXterm 和 VSCode。

MobaXterm(全能远程工具)

image

MobaXterm 集成了串口、SSH、TFTP、FTP等功能,支持 Windows 系统,无需单独安装多个工具。

功能 1:串口连接开发板

  • 打开 MobaXterm,点击左上角 “Session”→“Serial”

  • 配置参数(同 SecureCRT):端口(COMX)、波特率 115200、数据位 8、奇偶位无、停止位 1;

  • 点击 “OK”,即可连接开发板,界面与 SecureCRT 一致。

    image

功能 2:TFTP 文件传输

  • 打开 MobaXterm,点击顶部 “Tools”→“TFTP Server”

  • 设置 “Root directory” 为电脑文件路径(如C:\code),“Listening port” 默认 69;

    image

  • 开发板端用 TFTP 命令传输文件(同前文 “开发板网络传输” 步骤)。

功能 3:SSH 远程登录 Linux(虚拟机 / 开发板)

SSH 是安全远程登录协议,可在 MobaXterm 中直接操作 Linux 终端,无需打开 VMware。

  • 登录虚拟机 Ubuntu
    • 虚拟机中安装 SSH 服务:sudo apt install openssh-server

    • 启动 SSH:sudo systemctl start ssh,设置开机自启:sudo systemctl enable ssh

    • MobaXterm 中点击 “Session”→“SSH”,输入虚拟机 IP(如 192.168.3.13),勾选 “Specify username”(输入虚拟机用户名,如 gec);

      image

      image

    • 输入密码,即可远程操作虚拟机终端。

  • 登录开发板 Linux
    • 开发板安装 SSH 工具:用 TFTP 将openssh.tar.bz传到/workspace,解压:tar zxf openssh.tar.bz

      image

      image

    • 进入解压目录:cd openssh,执行安装脚本:./auto

      image

    • 设置 root 密码:passwd root(输入密码,不回显,按提示确认);

      image

    • MobaXterm 中用 SSH 连接开发板 IP(如 192.168.3.12),用户名 root,输入密码即可登录。
      image

VSCode(代码编辑与远程开发)

VSCode 是轻量级编辑器,支持插件扩展,通过Remote-SSH 插件可远程编辑虚拟机 / 开发板中的代码,无需本地拷贝。

image

步骤 1:安装插件

打开 VSCode,点击左侧 “扩展”,搜索并安装 “Remote-SSH”(微软官方插件)。

image

步骤 2:远程连接虚拟机 / 开发板

  • 点击 VSCode 左下角 “><” 图标(远程连接按钮),选择 “连接到主机”→“添加新的主机”

    image
    image
    image

  • 输入 SSH 命令:用户名@IP(如虚拟机:gec@192.168.3.13;开发板:root@192.168.3.12),按回车;
    image

  • 选择配置文件保存路径(默认即可),点击 “连接”
    image

  • 输入对应密码,连接成功后,VSCode 终端会显示远程主机的路径(如gec@ubuntu:~$)。

步骤 3:远程编辑与文件传输

  • 编辑代码:点击 “文件”→“打开文件夹”,选择远程主机中的目录(如/home/gec/code),即可直接编辑代码。
  • 文件传输:用scp命令(SSH 自带):
    • 本地→远程:scp 本地文件 用户名@IP:远程路径

      (如scp demo.c gec@192.168.3.13:/home/gec)将文件传输到哪里去;

    • 远程→本地:scp 用户名@IP:远程文件 本地路径

      (如scp root@192.168.3.12:/workspace/log.txt C:\)从哪里下拉文件。

http://www.dtcms.com/a/494609.html

相关文章:

  • 【读书笔记】《一念之差》
  • ssh端口探测 端口测试
  • 计算机操作系统:避免死锁
  • YOLOv3 详解:核心改进、网络架构与目标检测实践
  • Redis过期键的删除策略有哪些?
  • 云南网站建设设计公司百度网站怎么做的
  • HTTP请求走私漏洞介绍
  • 【论文笔记】Introduction to Explainable AI
  • shizuku —详细教程
  • MySQL的CRUD
  • 【C语言】基本语法结构(上篇)
  • 云原生进化论:加速构建 AI 应用
  • 【论文阅读】PathMR: Multimodal Visual Reasoning for Interpretable Pathology Analysis
  • 做护肤品好的网站不用流量的地图导航软件
  • 网站建网站建设wordpress自动标签添加内链插件
  • Java集合【开发的重点*】
  • 深度学习笔记39-CGAN|生成手势图像 | 可控制生成(Pytorch)
  • 第7篇 halcon12导出c++在vs2019配置环境显示图片
  • Socket.IO 聊天应用实例
  • 首发即交付,智元精灵G2携均胜集团过亿订单落地
  • 网站建设需要步骤到哪里查网站备案信息
  • 哈尔滨网站制作哪里专业西安公司网站制作要多少钱
  • WPF中的DataTemplate
  • 浙江建设局网站泰安北京网站建设公司哪家好
  • TensorFlow2 Python深度学习 - 使用Dropout层解决过拟合问题
  • Python数据分析实战:基于5年地铁犯罪数据构建多维安全评估模型【数据集可下载】
  • YOLO系列——OpenCV DNN模块在YOLOv11检测物体时输出的边界框坐标问题
  • 网站地图怎么用wordpress发布文章添加新字段
  • OpenCV轻松入门_面向python(第六章 阈值处理)
  • Visual Studio 2017(VS2017)可以编译 OpenCV 4.5.5 为 32 位(x86)版本