搭建JZ2440最小系统(一)arm交叉编译工具链准备
1。背景
arm机器一般因为资源问题进行编译会影响开发速度,而且很多时候因为资源不够而无法完成编译工作。因此,需要在执行机上进行交叉编译,即使用x86或其他架构机器基于交叉编译工具编译出在arm上可以运行的程序。
2. 分类和说明
从授权上,分为免费授权版和付费授权版。
免费版目前有三大主流工具商提供,第一是GNU(提供源码,自行编译制作),第二是 Codesourcery,第三是Linora。
收费版有ARM原厂提供的armcc、IAR提供的编译器等。
免费版如下几种:
arm-none-linux-gnueabi-gcc:是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM(32位)系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。
arm-linux-gnueabihf-gcc:是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM(32位)系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。
aarch64-linux-gnu-gcc:是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARMv8 64位目标中的裸机程序、u-boot、Linux kernel、filesystem和App应用程序。
arm-none-elf-gcc:是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM MCU(32位)芯片,如ARM7、ARM9、Cortex-M/R芯片程序。
arm-none-eabi-gcc:是 GNU 推出的的ARM交叉编译工具。可用于交叉编译ARM MCU(32位)芯片,如ARM7、ARM9、Cortex-M/R芯片程序。
命名规则: https://www.veryarm.com/296.html
交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]
arch - 体系架构,如ARM,MIPS
vendor - 工具链提供商
os - 目标操作系统
eabi - 嵌入式应用二进制接口(Embedded Application Binary Interface)
找到一个下载地址(http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/),不会用。开始学怎么编。
3. 自己编译交叉编译器
3.1 先准备本地环境,安装必要的工具
sudo apt-get install bison flex texinfo automake libtool cvs patch curl subversion gawk cvsd gperf
其中:
bison和flex是用来生成语法和词法分析器;
texinfo和man类似,用来读取帮助文档;
automake是帮助生成Makefile的工具;
libtool帮助在编译过程中处理库的依赖关系,自动搜索路径;
cvs、cvsd和subversion是版本控制软件,用于编译过程中的源码下载;
curl通过给定的网络地址下载源码的工具;
patch是用于给源码打补丁的工具;
gawk是linux下用于文本处理和模式匹配的工具。
3.2 获取crosstool-NG的源码
网站: http://crosstool-ng.github.io/
下载最新的版本:git clone https://github.com/crosstool-ng/crosstool-ng
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了