起始地址
在分析启动流程之前我们首先要清楚不论是arm的何种处理器,其都是从0x0000 0000地址处开始执行程序的。
以2440为例:

  1. 启动方式
    S3C2440支持两种启动模式:NAND和非NAND(这里是Nor Flash),具体采用的方式取决于OM0、OM1两个引脚的状态。
    ARM启动解析
  2. 地址布局

ARM启动解析
从上图我们可以清楚的看到左边的是从Nor Flash启动的地址布局,右边是从NAND启动的地址布局。
Nor Flash内可以运行程序,所以我们在放bootloader的时候放在0地址处即可。
3. 启动流程

我们从地址布局图中可以看到,当我们从NAND启动的时候0地址处BootSRAM(又叫做stepping stone垫脚石),当我们上电时其会做以下事情

  1. 上电后处理器自动将nandflash前4KB的内容复制到boot sram开始执行(由硬件完成)。

  2. 通过bootsram(即刚才复制进来的4k)来初始化相关硬件和寄存器从而访问nandflash,接下来把剩余的bootloader复制到内存(SDRAM/DRAM)中,当stepping stone 里面的4KB执行完以后跳转到内存继续执行,完成系统的启动。

相关文章:

  • 2021-12-31
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
  • 2022-12-23
  • 2021-07-04
  • 2022-01-15
  • 2022-12-23
猜你喜欢
  • 2022-03-10
  • 2022-12-23
  • 2022-01-10
  • 2022-12-23
  • 2021-12-04
  • 2021-11-20
  • 2021-08-29
相关资源
相似解决方案