裸机程序介绍
裸机程序就是没有操作系统的程序。iTop-4412 的芯片是基于 ARM Cortex-A9 架构的,A系列架构的处理器一般面向手机、平板等设备,这些设备都需要操作系统。所以在实际产品开发过程中,我们不会在这里设备上开发裸机程序。
学习 iTop-4412 的裸机程序的主要目的是了解这类嵌入式设备的启动过程和为了 uboot 学习作准备,同时可以帮助我们学习一些驱动程序的基础。
iTop-4412 运行裸机程序的阶段
从 Exynos4412 启动过程分析系列博文中,我们已经了解了 Exynos4412 在 启动过程中有三个阶段 :BL0 -> BL1 -> BL2。 BL0 是 iROM 固件程序,我们无法修改。所以我们可以让裸机程序运行在 BL1 和 BL2 阶段。
iTop-4412 选择启动方式
Exynos4412 的 启动方式通过 OM 引脚控制。通过控制这些引脚的上下拉电平控制 从 iTop-4412 的原理图可以看到 XOM1 - XOM6 7个引脚。由芯片手册得知, XOM6 需被下拉低电平。其余引脚在原理图上的连接如下图所示。 原理图上的NC(Not Connect)和 N.M.(Not Mount)都是表示实际不贴片的意思。这种设计在原理图中还是比较常见的。它的好处是可以通过控制是否贴片来更改实际的电路效果。上图中的XOM1和XOM4通过下拉电阻拉至低电平。 从上面的iTop-4412 原理图可以看到,iTop4412 使用了一个4位的拨码开关控制启动方式。其中 5- 8 引脚被接到VDD。3和4引脚通过10K电阻下拉到地。1和2引脚则分别接到 XOM2和 XOM3(XOM5)引脚。所以可以通过控制1和2的开关状态控制 XOM2、XOM3(XOM5)的电平状态。当1和2引脚处于不同开关状态下(0表示断开,1表示闭合)的OM模式如下表:
OM[5:1] | 1 | 2 | 1st Device | 2nd Device |
---|
5b’00000 | 0 | 0 | Reserved | Reserved | 5b’10110 | 1 | 1 | Reserved | Reserved | 5b’00010 | 1 | 0 | SDMMC_CH2 | USB | 5b’10100 | 0 | 1 | eMMC_44CH4 | SDMMC_CH2 |
所以当1闭合2断开时启动模式是 1st Device: SDMMC_CH2。2st Device: USB。 而1断开2闭合时启动模式是 1st Device: eMMC_44CH4。2st Device: SDMMC_CH2。
iTop-4412 运行裸机程序的几种选择
- 选择开关1闭合2断开,TF卡烧录裸机程序从TF卡启动
- 选择开关1闭合2断开,TF卡不烧录裸机程序从 USB启动
- 选择开关1断开2闭合,破坏eMMC启动程序,TF卡烧录程序,从TF卡启动。
我尝试在iTop4412使用USB进行裸机程序调试,但是设备管理器中的连接总是在开机几秒后就丢失,同时DNW驱动没有签名的缘故,弄起来太麻烦。所以在后面的实验中我会使用TF卡作为启动介质调试裸机程序。
2021年8月11日
Kilento
|