1. BROM引导:
ARM CPU刚上电时,它的PC寄存器指针指向IC内嵌的一片ROM的起始位置处,这片ROM称之为BROM(boot rom),系统就是通过这片BROM引导起来的。BROM的空间比较小,一般是32/64KB,IC上的ShareRAM大小也不尽相同,所以IC引导过程也是会有所不同。
BROM中会存储上电引导程序,这段程序也一般会包括以下几个内容:
1. CPU上电初始化操作。
2. 启动介质的驱动操作。
3. 固件下载操作,用来进入刷机模式,更新时固件使用。
4. BROM引导程序,主要功能是用来从从启动介质中读取和加载第二阶段引导程序。
5. 签名验证操作。
BROM中的引导程序由IC厂商自己定制开发。它会根据硬件上不同,来判断要进入刷机模式还是启动模式,并且还要判断是从哪种介质中引导启动。接下来要从启动介质中读取MBREC上的引导程序到ShareRAM中,并跳转执行。BROM属于read only的,在SOC流片的时候就固定下来了,所以拿到SOC以后基本上就不会去修改了,而可定制化的东西都放在bootloader中实现。
|