ARM处理器启动流程

来源:互联网 发布:mac如何恢复苹果系统 编辑:程序博客网 时间:2024/06/05 11:48

介绍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。

0 0
原创粉丝点击