一:地址空间的分配
3:norflash不用来运行代码,只用来存储代码,NORflash,SDRAM可以直接运行代码)
7个bank的起始地址是固定的
还有一个灵活的bank的内存地址,并且bank大小也可以改变
OM[1:0]=00时,处理器从NAND Flash启动
OM[1:0]=11时,处理器从Test Mode启动。
当从NAND启动时
Arm的启动都是从0地址开始,所不同的是地址的映射不一样。在arm开电的时候,要想让arm知道以某种方式(地址映射方式)运行,不可能通过你写的某段程序控制,因为这时候你的程序还没启动,这时候arm会通过引脚的电平来判断。
为什么会有这两种启动方式,关键还是两种flash的不同特点造成,NOR FLASH容量小,速度快,稳定性好,输入地址,然后给出读写信号即可从数据口得到数据,适合做程序存储器。NAND FLASH 总容量大,但是读写都需要复杂的时序,更适合做数据存储器。这种不同就造成了NORflash可以直接连接到arm的总线并且可以运行程序,而NANDflash必须搬移到内存(SDRAM)中运行。
在实际的开发中,一般可以把bootloader烧入到Norflash,程序运行可以通过串×××互,进行一定的操作,比如下载,调试。这样就很可以很方便的调试你的一些代码。Norflash中的Bootloader还可以烧录内核到Norflash等等功能。
转载于:https://blog.51cto.com/zheshigepangzi/1216816