您的位置:首页 > 其它

ARM处理器启动流程

2015-08-24 21:00 393 查看
介绍S3c2440、S3c6410、S5pv210这三种芯片的启动方式,地址布局,启动流程

S3c2440

启动方式:nor flash启动(2MB);nand flash启动(256MB)

地址布局:



左边的图为选用nor flash启动时的地址布局,右边的图为选用nand flash启动时的地址布局。

当ARM处理器上电后,处理器会从0地址处取第一条指令,即从0地址处开始运行。当选用nand flash启动时,0地址是BootSRAM,该区域也称为stepping stone(垫脚石)。

启动流程:当选用nand flash启动时,处理器会自动将nand flash中最前端的4kb内容拷贝到stepping stone中,进而运行这4kb内容。这4kb bootloader任务除了硬件初始化外,还需要将nand flash中剩余的bootloader拷贝到内存中。当处理器结束运行stepping stone中的4kb bootloader后会跳转到内存中运行剩余的bootloader。

从图中可以看出内存SDRAM的初始地址为0x30000000.

S3c6410

启动方式:



从图中可以看出,启动方式包括①SROM(nor flash启动)②OneNAND(一种特殊的nand flash)③MODEM④IROM(包含有SD卡启动,nand flash启动)

通过设置引脚可设置启动方式

地址布局(一部分):



0地址处是Booting Device Region,是一个镜像区域。即当选择IROM启动时,该镜像区域会将IROM映射到镜像区域。选择SROM启动、OneNAND启动时也是相同道理。

启动流程:



当选择从nand flash启动时,IROM区域会被映射到镜像区域,因此处理器会从IROM取第一条指令开始运行。IROM中存放的是生产厂商固化好的代码,该代码称为BL0.该代码的作用除了初始化硬件外,还包括将nand flash中最前端的8kb内容(BL1)拷贝到stepping stone中运行,BL1会将剩余的bootloader(BL2)拷贝到SDRAM中。当运行完BL1后,会跳转到SDRAM运行BL2。

S5pv210

启动方式:IROM启动、USB启动、串口启动

地址布局:



0地址处是Boot area,是一个镜像区域

启动流程:



当选择nand flash启动时,IROM区域会被映射到镜像区域,因此处理器会从IROM取第一条指令开始运行。IROM中存放的是生产厂商固化好的代码(BL0),该代码除了初始化硬件外,还将nand flash中的BL1拷贝到IRAM(internal SRAM)中运行。BL1的作用是将BL2拷贝到IRAM或者SDRAM中,至于是拷贝到IRAM还是SDRAM取决与BL2的大小。

ps:2440和6410中只是逻辑上区分BL1和BL2,产生的bin文件只有一个,也就是说BL1和BL2都在同一个bin文件中。但210不同,210采用的是新版本的uboot,产生的BL1和BL2位于单独的bin文件中;BL1最大为16kb;若BL2不大于80kb,则可以将BL2拷贝到IRAM中,否则就拷贝到SDRAM。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: