arm remap过程是怎么样的? CPU在remap之前都做了什么?

启动代码哪些是固化到rom里的? 以S3C2440为例,RO,RW,ZI区的分配是在什么地方执行的?

设置cpu工作模式  初始化栈  bss

  1. cpu上电后首先执行的中断向量表,根据中断向量表进入reset中
  2. 在reset中这里面需要做禁止中断、禁止看门狗、禁止cache、mmu等,
  3. 然后初始化工作模式和堆栈指针,
  4. 初始化数据段初始化为0的数据区域 即zi
  5. 初始化数据段初始化为非0的区域即data段
  6. 初始化cache
  7. 初始化mmu以及相关
  8. 然后,进入c代码段即main中