RQ : read only,指代码区
RW : read/write, 指存放已初始化的“全局”变量的区域
ZI : zero initialize, 指存放未初始化的“全局”变量的区域
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启动和硬件仿真慢。