交叉编译
1 什么是交叉编译
两种开发模式
非嵌入式开发,A(类)机编写(源代码)、编译得到可执行程序,发布给A(类)机运行。
嵌入式开发,A(类)机编写(源代码)、编译得到可执行程序,发布给B(类)机运行。
背景
嵌入式设备往往资源受限。
不可能在嵌入式设备上直接对处理器进行编程。
解决方案
在开发主机(PC)上对原码进行编译。
最终生成目标主机(嵌入式设备)的可执行程序。
交叉编译的特点
必须使用专用的交叉编译工具链。
由于可执行程序不能本地运行调试,因此必须配合一定手段(专用调试器、JTAG调试器、USB下载、串口下载、SD启动、网络共享等)将可执行程序加载到目标嵌入式设备上运行及调试。
2 gcc是如何进行交叉编译的
配置目标主机的编译工具链(如:arm-linux)
配置工具链的具体版本
根据具体的目标代码选择相应的工具链版本
正确使用关于硬件体系结构的特殊编译选项
3 案例:大型企业嵌入式开发环境
修改记录
时间 | 动作 |
---|---|
2017.6.9 | 首次上传 |
参考资料
唐老师 — 狄泰软件学院 — 十二月提升计划
李云 — 《专业嵌入式软件开发 全面走向高质量编程》