当前位置: 代码迷 >> 嵌入开发 >> 关于程序运行 IROM、IRAM,该如何解决
  详细解决方案

关于程序运行 IROM、IRAM,该如何解决

热度:373   发布时间:2016-04-25 08:41:18.0
关于程序运行 IROM、IRAM
  前两天,看到一题目,经查资料有所了解,但是还是有疑问,还请耐心指点个方向。。。
题目大意是在下列选项中,三星的ARM的s5pv210的芯片可以执行程序的存储器有那些?
a、IROM
b、IRAM
c、nand flash
d、SDRAM

给的答案是a、b、d
我个人理解应该是b、d,IRAM不是只读的吗?怎么能运行程序呢?程序的运行不是需要大量快速的读写吗?(其实,个人感觉可以执行程序的只有那几个寄存器,只当题不严谨吧)
个人理解,IROM固化的程序的程序应该也是读到IRAM再进寄存器执行的,但题目的意思好像IROM里的程序是直接读到寄存器执行的。。。

身边没相关书籍,这么细的东西,网上查了好久都不得法。。。
求指点。。。
------解决方案--------------------
(1)BL0:是指S5PV210的iROM中固化的启动代码
        作用:初始化系统时钟,设置看门狗,初始化堆和栈,加载BL1

(2)BL1:是批在iRAM自动从外扩存储器(nand/sd/usb)中拷贝的uboot.bin二进制文件的头最大16K代码
        作用:初始化RAM,关闭Cache,设置栈,加载BL2

(3)BL2:是指在代码重定向后在内存中执行的uboot的完整代码
        作用:初始化其它外设,加载OS内核

(4)三者之间的关系:(Interal ROM固化代码)BL0将BL1(bootloader的前16KB--BL1)加载到iRAM;BL1然后在iRAM中运行将BL2(剩下的bootloader)加载到SDRAM;BL2加载内核,把OS在SDRAM中运行起来,最终OS是运行在SDRAM(内存)中的。
------解决方案--------------------
楼上果然给力,佩服