嵌入式Linux系统移植要点:
- 搭建交叉编译开发环境
- bootloader的选择和移植
- kernel的配置、编译、移植和调试
- 根文件系统的制作
前两个要点通常芯片厂家提供。后边两个要点是公司的工作重点。
学习方法:先整体后局部,层层推进
如何编译—>如何添加命令和功能—>如何定义自己的开发板。
移植的基本步骤:
- 确定目标机主机的连接方式
- UART:速率低,使用性强
- USB:速度快,驱动要移植修改
- TCP/IP:速度快,驱动要移植修改
- JTAG:方便便捷,价格高
- 安装交叉编译器:芯片厂商提供,不建议自己编译
file 可执行文件- arm-none-linux-guneabi-
- arm-none-eabi-
- 搭建主机-目标机数据传输通道
- TFTP
- NFS
- 编译三大子系统
- 烧写测试
交叉编译工具集
- readelf:readelf -h 可执行文件
- size:size 可执行文件
- nm:符号列表
- strip:strip 可执行文件,没符号表,生产中去掉
- strings:查看字符串
- objcopy:去掉头
- objdump:objdump -d 可执行文件
- addr2line:
笔记本开发环境搭建:
window10系统,虚拟机下安装Ubuntu,windows通过wifi上网,网口与开发板直连。虚拟机配置成双网卡模式,通过NAT上网,通过桥接模式和开发板通信