ARM处理器启动流程

介绍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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值