arm-linux开发板相关软件的使用

article/2025/11/9 10:21:05

文章目录

  • 1. 串口调试
    • 1.1 简介
    • 1.2 secureCRT使用步骤
  • 2. 文件传输
    • 2.1 文件传输: tftp
    • 2.2 文件传输: NFS (相当于将主机作为一个u盘插入开发板)
  • 3. 交叉编译
    • 3.1 下载
    • 3.2 配置

1. 串口调试

1.1 简介

一般而言,嵌入式开发板使用串口来监控后台。可以使用串口线连接开发板和电脑,对于没有串口的笔记本电脑来说,一般还需要一根USB转串口线。
在这里插入图片描述

串口软件多种多样,比如secureCRT、Xshell、超级终端、miniCom、putty等,它们的功能大同小异,因此只需安装用的顺手的一款即可。下面以secureCRT为例,详细介绍其使用步骤。

1.2 secureCRT使用步骤

  1. 接好串口线,在设备管理器中找到正确的串口编号,比如下图中的COM19:

image.png
设备管理器查看串口编号

注意,如果使用USB转串口线,那么一般是需要安装对应的驱动程序才可以让windows系统识别出来,而USB转串口线内置的芯片并不唯一,因此建议可以安装驱动精灵或驱动人生,自动识别并安装对应的驱动即可。如果不想安装这两个软件,也可以试试CH/YH340驱动。

  1. 启动secureCRT,正确配置串口信息(注意,流控的勾要去掉)

image.png
设置secureCRT串口信息

  1. 使用串口传输,在secureCRT输入rx hello,hello是想要传输的文件名。然后将文件拖入secureCRT,再单击发送xModem即可。

image.png
使用rx命令进行串口协议传输

  1. 修改字体颜色、中文编码

image.png
修改中文编码、字体

  1. 增加语法高亮:

image.png
增加语法高亮

  1. 一切准备就绪,启动开发板,即可通过调试串口在secureCRT中看到启动的后台信息,并可以在窗口下调试程序。

image.png
secureCRT界面

2. 文件传输

将编译好的程序放到开发板中去运行,需要借助于一些软件,下面介绍最常用的通过tftp的方式与开发板之间互通文件。

2.1 文件传输: tftp

在有网络的情况下,采用tftp的方式来传输文件是最高效的一种方式,tftp的全称是 tiny FTP,可见此工具专用于文件传输,其所为tiny意指匿名传输,是一种轻量级的FTP工具。

  1. 在windows中安装tftp服务器,可根据系统实际情况下载对应版本:
  • tftpd32.zip
  • tftpd64.zip
  1. 启动tftpd,选择准备传送到开发板的文件的所在目录和与开发板联通的网卡:

image.png
tftpd配置界面

  1. 假设在上述 C:\EFI 文件夹下有文件example.txt,在开发板中可执行如下命令下载该文件:
[root@root:~]# tftp 192.168.9.65 -gr example.txt
  1. 如果想要将开发板的文件发送到tftpd服务端,命令如下:
[root@root:~]# tftp 192.168.9.65 -pr example.txt

2.2 文件传输: NFS (相当于将主机作为一个u盘插入开发板)

  • ubuntu安装nfs
sevan@unbuntu-dev:~$ sudo apt install nfs-kernel-server
  • ubuntu配置nfs
sevan@unbuntu-dev:~$ sudo vi /etc/exports
添加
/home/sevan/ *(rw,async,no_subtree_check,no_root_squash) //将虚拟机家目录下的所有文件开放给其他任何ip主机设备(rw:可读写 async:异步 no_subtree_check:不检查子树)sevan@unbuntu-dev:~$sudo service nfs-kernel-server restart
  • 测试挂载
sevan@unbuntu-dev:~/work$ showmount -e
Export list for unbuntu-dev:
/home/sevan *
  • 开发板配置
    将Ubuntu的家目录按照一个分区插入到开发板/root目录下
[root@GEC6818 /]#mount 192.168.1.104:/home/sun /root -o nolock

参考配置:mount -t nfs -o nolock 192.168.1.104:/home/sun/nfs_rootfs /mnt
注意:开发板的ip地址必须和Ubuntu主机的ip在同一网络段落
修改开发板ip的方法如下:

  • 临时设置ip地址(重启开发板失效)
ifconfig eth0 192.168.1.xxx netmask 255.255.255.0
route add default gw 192.168.1.254
  • 永久设置ip地址
    vi /etc/profile,然后把前面临时配置ip地址的两行命令写到里面
export PATH=/bin:/sbin:/usr/bin:/usr/sbinif [ "$PS1" ]; thenif [ "`id -u`" -eq 0 ]; thenexport PS1='[\u@\h:\w]# 'elseexport PS1='[\u@\h:\w]$ 'fi
fiexport PAGER='/bin/more '
export EDITOR='/bin/vi'# Source configuration files from /etc/profile.d
for i in /etc/profile.d/*.sh ; doif [ -r "$i" ]; then. $ifiunset i
doneifconfig eth0 172.31.8.xx netmask 255.255.255.0
#route add default gw 192.168.1.254
  • 最终挂载Ubuntu主机家目录分区测试如下
    在这里插入图片描述

3. 交叉编译

3.1 下载

由于嵌入式板卡的软硬件是定制的,因此针对其平台开发的程序所需要的编译器也必须与之相匹配:

  • GEC6818开发板交叉工具链:arm-linux-gnueabi
  • GEC1808开发板交叉工具链:rk1808-sdk
  • GEC3399开发板交叉工具链:rk3399-sdk

3.2 配置

下载完了之后需要进行配置,然后才能使用,由于配置过程是一样的,因此以GEC6818的交叉工具链为例,其配置步骤如下:

  • 解压:
gec@ubuntu:~$ ls
arm-linux-gnueabi-5.4.0.tar.xz
gec@ubuntu:~$ 
gec@ubuntu:~$ xz --decompress arm-linux-gnueabi-5.4.0.tar.xz 
gec@ubuntu:~$ ls
arm-linux-gnueabi-5.4.0.tar
gec@ubuntu:~$ 
  • 查看归档文件中的文件路径:
gec@ubuntu:~$ tar -tf arm-linux-gnueabi-5.4.0.tar
usr/local/arm/5.4.0/usr/include/ext2fs/qcow2.h
usr/local/arm/5.4.0/usr/include/ext2fs/ext3_extents.h
usr/local/arm/5.4.0/usr/include/ext2fs/bitops.h
usr/local/arm/5.4.0/usr/include/ext2fs/tdb.h
usr/local/arm/5.4.0/usr/include/e2p/
usr/local/arm/5.4.0/usr/include/e2p/e2p.h
usr/local/arm/5.4.0/usr/include/com_err.h
... ...
... ...

可以看到,归档文件中的资料都是以usr/local/arm开头的,因此可以直接将归档内容释放到根目录下,到时候具体文件就会出现在/usr/local中。

  • 释放:
gec@ubuntu:~/Downloads$ sudo tar xvf arm-linux-gnueabi-5.4.0.tar -C /
gec@ubuntu:~$ cd /usr/local
gec@ubuntu:/usr/local$ ls
arm  bin  etc  games  include  lib  man  sbin  share  src

可见,第一个目录 arm 就是解压之后得到的交叉工具链所在的目录。

  • 配置环境变量PATH:
gec@ubuntu:~$ cd /usr/local/arm/5.4.0/usr/bin
gec@ubuntu:~$ echo "export PATH=/usr/local/arm/5.4.0/usr/bin:$PATH" >> ~/.bashrc
gec@ubuntu:~$ source ~/.bashrc
  • 测试交叉工具链的版本信息:
sevan@unbuntu-dev:~$ arm-linux-gcc -v
使用内建 specs。
COLLECT_GCC=/home/sevan/work/usr/local/arm/5.4.0/usr/bin/arm-linux-gcc.br_real
COLLECT_LTO_WRAPPER=/home/sevan/work/usr/local/arm/5.4.0/usr/bin/../libexec/gcc/arm-none-linux-gnueabi/5.4.0/lto-wrapper
目标:arm-none-linux-gnueabi
配置为:./configure --prefix=/home/geclab/buildroot-2016.11/output/host/usr --sysconfdir=/home/geclab/buildroot-2016.11/output/host/etc --enable-static --target=arm-none-linux-gnueabi --with-sysroot=/home/geclab/buildroot-2016.11/output/host/usr/arm-none-linux-gnueabi/sysroot --disable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --with-gmp=/home/geclab/buildroot-2016.11/output/host/usr --with-mpc=/home/geclab/buildroot-2016.11/output/host/usr --with-mpfr=/home/geclab/buildroot-2016.11/output/host/usr --with-pkgversion='Buildroot 2016.11' --with-bugurl=http://bugs.buildroot.net/ --disable-libquadmath --enable-tls --disable-libmudflap --enable-threads --without-isl --without-cloog --with-float=soft --disable-decimal-float --with-abi=aapcs-linux --with-cpu=cortex-a15 --with-float=soft --with-mode=arm --enable-languages=c,c++,fortran --with-build-time-tools=/home/geclab/buildroot-2016.11/output/host/usr/arm-none-linux-gnueabi/bin --enable-shared --disable-libgomp
线程模型:posix
gcc 版本 5.4.0 (Buildroot 2016.11)
sevan@unbuntu-dev:~/work$

有出来版本信息的话,就代表配置成功了。

  • 编译测试
报错:
sevan@unbuntu-dev:~/work$ arm-linux-gcc hello.c
/home/sevan/work/usr/local/arm/5.4.0/usr/bin/../libexec/gcc/arm-none-linux-gnueabi/5.4.0/cc1: error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory
  • 添加链接库环境变量
 sevan@unbuntu-dev:~$ echo "export LD_LIBRARY_PATH=/usr/local/arm/5.4.0/usr/lib:$LD_LIBRARY_PATH" >> ~/.bashrcsevan@unbuntu-dev:~$ source ~/.bashrc

http://chatgpt.dhexx.cn/article/3KetNRBG.shtml

相关文章

嵌入式:ARM相关开发工具概述

文章目录 JTAG仿真器J-LINK仿真调试器J-Link ARM主要特点 U-LINK仿真调试器ULINK2特点ULINK和JLINK的比较 ADS1.2集成开发环境使用ADS创建工程 JTAG仿真器 JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容&…

嵌入式:ARM常用开发编译软件介绍

文章目录 编译器介绍1、ADS1.22、ARM RealView Developer Suite (RVDS)3、IAR EWARM4、KEIL ARM-MDKARM5、WIN ARM-GCC ARM 编译器介绍 1、ADS1.2 ADS(ARM Developer Suite),是在1993年由Metrowerks公司开发是ARM处理器下最主要的开发工具。…

北京邮电大学计算机考研资料汇总

北京邮电大学研招网 北京邮电大学计算机学院 北京邮电大学软件学院 北京邮电大学网络空间安全学院 北京邮电大学(Beijing University of Posts and Telecommunications),简称北邮,是中华人民共和国教育部直属、工业和信息…

23届计算机保研经验帖(北邮)

21届计算机保研经验帖 本文非常适合保研非实力派选手,越早阅读离心仪学校就越近一步。有很多同学担心自己拿到推免资格却无学可上,这大可放心,我们学校很多同学都轻松得到西南985高校的offer,但如果想保到北上广的计算机强校的话…

2019年北理工计算机北航计算机中山大学计算机北邮网研院保研夏令营

目录 1.个人情况 2.夏令营入营情况 3.报名准备建议 3.1 准备一个txt 文本,上面有个人信息,方便填写每个大学的报名申请,包括以下信息: 3.2 电脑上新建一个文件夹和一个网页收藏夹 3.3 一些可能需要使用的工具和软件&#xf…

北邮考研复试机试准备过程(已上岸)

纯自用请勿转载,用来给自己最后复习和捋思路用的,主要参考牛客网王道机试指南,C、C混用。考研人太久不写代码了…什么都不记得了,从头开始过一遍吧。 黑色代码段是要记住的重点函数/方法。每天下午做几个小时,一共不到…

2024考研北京邮电大学计算机/软件/网安/智能考研信息汇总

一、北京邮电大学简介 二、各院官方网址 北京邮电大学研究生院官网 计算机学院(国家示范性软件学院)官网 网络空间安全学院官网 人工智能学院官网 三、招生目录和导师重要性介绍 北邮以前共有四个学院属于计算机类,分别为:计…

所有计算机专业考研都变了!西安邮电大学计算机考研改考

西安邮电大学是一所双非大学,位于陕西省西安市。虽然是双非,但是计算机学科评估C,软件工程学科评估C,计算机实力在双非大学中还算不错。邮电类大学的计算机专业一般都比较强,比如北京邮电大学,南京邮电大学…

2019北邮计算机院机试真题

目录 19计算机院机试真题Problem A 二进制Problem B 二叉树Problem C 最短路径Problem D 方块阵 19计算机院机试真题 计算机院的机试题真难,没有4A的,第四题的题目看了一下,好像是矩阵的,题目记不清了,如果你考计算机…

北邮 计算机网络

一、前言 本文总结北邮计算机学院《计算机网络》的学习资料,希望能帮到学弟学妹,打好基础。 计算机网络也是计算机专业考研的必考科目之一,4学分,重要性不言而喻。学科特点是知识点非常多,每一章都要画一整张的思维导…

北邮考研_2019_计算机学院/网研院_时间和各科目规划安排

时间安排 科目 3-7月 7-9月 10-11 12月 数学 暑假前争取将一轮数学复习完 中期复习书:李正元数学全书(比李永乐写的好) 《李永乐真题大全解》 掐表做题 英语 3-4月:单词 预计7月中旬,将英语第一遍阅读做完&…

录取清华/北大/中科院/北邮都有!双非北京信息科技大学计算机考研光荣榜

上次我们看了几个二本大学的计算机考研光荣榜,发现虽然有上岸985/211大学的同学,但是不多。可以说,上岸好大学的概率非常非常低,是一件很难的事情。 那么有没有考上好大学多一些的,成绩比较好的双非大学呢?…

北邮考研上岸历程

考研初试倒数第一上岸北邮心路历程 嗨,准研究生们! 从去年到现在考研终于算是告一段落,所以想记录一下,与君共勉。 本人概况 本科双非,本科信息安全专业,一志愿北京邮电大学网络空间安全专业。初试总分…

2023北京邮电大学计算机考研信息汇总

北京邮电大学研招网 北京邮电大学计算机学院 北京邮电大学软件学院 北京邮电大学网络空间安全学院 北京邮电大学(Beijing University of Posts and Telecommunications),简称北邮,是中华人民共和国教育部直属、工业和信息…

20考研历程-北京邮电大学计算机学院

首先!!! 凝紫暮学长吐血整理的巨全的北邮考研信息 帮助很大!! 初试: 数一、英一、4门专业课(803(21后就是408了),难度20年近似408、出题范围不限于408范围…

北邮2018计算机院考研复试机试上机题解+结果统计

昨天刚考完,oj上题目已经看不了了,不过交的代码都还在,趁热回忆一下 整体情况: 共169人,第四题全军覆没,8人3A,77人2A,40人1A,44人0A。 最后的排行榜(id截掉…

2018北邮计算机、网研、网安803考研报考建议

好多人问,就随便写写吧...写的很快,格式也不改了,东西太多,最后就放了三个去年各学院复试线。 注:不要以为简单的总简单,也不要以为专硕比学硕简单,但是有写难的会一直难。 0.每个组做什么你要…

【北京邮电大学计算机考研资料汇总大全】

北京邮电大学计算机考研资料汇总大全 北京邮电大学计算机考研 | RunningEarth.github.io -适用报考范围: 计算机学院(国家示范性软件学院)、网络空间安全学院、人工智能学院 23北邮计算机考研QQ交流群:909033367 信息汇总 前言…

北京邮电大学计算机考研信息汇总

See you in BUPT 北京邮电大学计算机考研报考资料、复试资料汇总 for 2019 –by 凝紫暮 CSDN:北京邮电大学计算机考研信息汇总 GitHub Pages:北京邮电大学计算机考研信息汇总 适用报考范围: 计算机学院、网络技术研究院、网络空间安全学院、软件学院…

2024北京邮电大学计算机考研信息汇总

北京邮电大学研招网 北京邮电大学计算机学院 北京邮电大学软件学院 北京邮电大学网络空间安全学院 北京邮电大学(Beijing University of Posts and Telecommunications),简称北邮,是中华人民共和国教育部直属、工业和信息…