norflash启动、nandflash启动以及硬件仿真的区别

来源:互联网 发布:淘宝二楼 怎么进去 编辑:程序博客网 时间:2024/05/29 09:17
   RQ : read only,指代码区
   RW : read/write, 指存放已初始化的“全局”变量的区域
   ZI : zero initialize, 指存放未初始化的“全局”变量的区域

   Norflash启动:不复制RO区,norflash 的RO区启动代码复制RW区到SDRAM内存指定空间中(MDK中一般为RAM1),并清零RW区存放空间后的部分空间以作为ZI区.

   Nandflash启动:steppingstone 中的4KB代码(RO区的前4KB代码,当然,RO区也可能没有4KB)将nandflash中的128KB内容(不一定非要这么多,但其中必须包含程序的RO区和RW区)复制到指定的RAM(MDK中一般为ROM1)内存中,然后跳到SDRAM内存中,执行RO区中的另一部分搬移代码,将SDRAM中RW区复制到SDRAM指定空间中(MDK中一般为RAM1),并清零RW区存放空间后的部分空间以作为ZI区. 搬移工作做完后,跳到main()中执行其他代码。

   硬件仿真:相当于Nandflash搬移工作做完后的状态。代码复制由MDK自动完成。

由于Norflash读写速度比SDRAM内存慢,故执行流水灯程序的时候,LED灯闪亮的速度比Nandflash启动和硬件仿真慢。