(1)Nand Boot:
用户可以将引导代码(我们通常说的bootloder)和操作系统镜像文件放在外部的Nand Flash中,并且从Nash Flash启动。当处理器在这种模式下上电复位时,内置的Nand Flash控制器将访问控制接口,并将引导代码(bootloder)自动加载到内部的SRAM中(此时SRAM定位于其实地址空间0x00000000,容量为4kb,处理器自带的),然后,SRAM中的引导程序(bootloder)将操作系统镜像文件加载到SDRAM中,操作系统就能够在SDRAM中运行了。这也是bootloder的作用,如果仅仅是小容量的裸机程序的话完全没有必要编写bootloder,直接放在NASH FLASH中就可以运行了(实验验证通过),但是由于SRAM容量比较小并且昂贵,所以必须用bootloder把容量大的操作系统加载到相对容量较大的SDRAM中运行。如果是从nor flash或者SDRAM中运行,
(2)两种启动方式
记住一点,所以的处理器复位都是从0x00000000处开始执行
a:在Nand Flash 启动模式下,处理器内部的4kb boot SRAM(处理器内部拥有并不是我们的外部存储空间)被映射到nGCS0(bank0)片选空间中。此时SRAM的地址为0x00000000(暂时可以这么认为),至于Nash Flash 的地址我们不用管它,反正从Nand Flash 启动我们总会把里面前4kb的代码复制到0x00000000中执行。这个理解也合乎代码从0X00000000处执行。