目录
目的:
把开发板上的linux操作系统(芯片厂商提供)移植到自己设计的硬件上运行。
内容:
1 引导程序(U-Boot)
2 Linux内核(驱动和设备树)
3 根文件系统(库文件,应用程序)
交叉编译工具链前缀的命名规则:arch-[vendor]-kernel-system
API:应用程序编程接口(C语言接口)
ABI:应用程序二进制接口(汇编语言接口)
交叉编译工具链获取:
1 芯片厂商提供(SDK的一部分)
2 操作系统自带
3 自己编译
在64位虚拟机上支持32位x86程序运行
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386
sudo apt install zliblg:i386
1、U-Boot执行之前的启动流程
boot->boot strap自举
Exynos4412处理器颞部有一个只读存储器(iROM)和静态存储器(iRAM)
处理器启动后首先执行位于0地址的iROM中的代码(处理器出厂时自带)
iROM启动后加载BL1和BL2,BL1初始化芯片相关设备,BL2初始化单板相关设备。
通过OM引脚可以控制iROM中的代码从哪个设备读取引导程序。
OM1接地->0
OM2接拨码开关on:1
OM3接拨码开关on:1
OM4接地->0
OM5接拨码开关on:1
OM[5:1] = 00010 从SD卡启动
OM[5: