在ubuntu下搭建arm交叉编译环境

在ubuntu下搭建arm交叉编译环境,第1张

在ubuntu下搭建arm交叉编译环境

目录
  • 设备环境
  • 环境配置
    • 下载编译器
    • 配置环境变量
    • 下载32位兼容库
    • 测试编译器的运行
    • 测试样例
  • 程序下载和运行
      • SD卡下载
      • 通过网络服务下载
  • 参考

设备环境

ubuntu20.04,虚拟机virtual box,开发板九鼎x210

环境配置 下载编译器

本文使用2014新版本编译器。下载后复制进虚拟机并解压。
压缩包名:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar

配置环境变量

Linux配置环境变量有多种方式:具体参考超详干货!Linux 环境变量配置全攻略
此处采用第二种,修改用户目录下配置文件。

// 用vi编辑器编辑配置文件
vi ~/.bash_profile
//添加编译器所在路径(子文件夹bin中),在文件最后一行加上
export PATH=$PATH:/home/xxx/压缩包名/bin/:$PATH
//xxx为用户名,如果编译器存放于其他路径相应更改即可,不建议路径名过长
下载32位兼容库

如果下载的是64位ubuntu需要安装32位的兼容库。库的名字是
lib32ncurses5-dev
(参考无法定位软件包 lib32ncurses5 原因与解决方法)

测试编译器的运行

如果命令行输入arm-none-linux-gnueabi-gcc -v有输出版本号,或者输入时有补全,说明安装成功。

测试样例

找到开发板提供的简单例程,复制进虚拟机。进入样例所在文件,以文件名为hello.c为例:
执行arm-none-linux-gnueabi-gcc -o hello hello.c
第一个hello是编译生成输出文件名称,第二个是要编译的源文件名称。

程序下载和运行 SD卡下载

输出文件拷入SD卡中,插入开发板输入命令

//将SD卡挂载到/mnt文件夹
mount /dev/mmcblk1p1/mnt

接着就可以在开发板上访问输出的文件了。复制到home目录即可运行。

//进入home目录
cd ~
//复制到当前目录
cp /mnt/hello ./
//执行程序
./hello
通过网络服务下载

配置好虚拟机(宿主机也可以)和开发板的网络使两者能通信(ping通),可采用nfs,TFTP等方式。(暂略)

参考

本文参考BIT李海老师编写的嵌入式Linux开发指南。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5435759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存