##Nor Flash和Nand Flash的区别:
NOR FLASH容量小,速度快,稳定性好,数据线和地址线分开的,输入地址,然后给出读写信号即可从数据口得到数据,适合做程序存储器。NAND FLASH 总容量大,但共用数据线和地址线,所以读写都需要复杂的时序,更适合做数据存储器。这种不同就造成了NORflash可以直接连接到arm的总线并且可以运行程序,而NANDflash必须搬移到内存(SDRAM)中运行。
1、Nand Flash方式
@1、加电后,首先把Nand Flash起始4K的内容复制到片内SRAM(4K)。
@2、CPU从片内SRAM的0地址开始执行。
这4K的内容就是启动代码,功能是硬件初始化和软件初始化(启动文件)
@软件初始化包括:1、设置栈指,使栈指针指向内存的某个位置;
2、设置主函数返回地址
3、调用mian函数;
4、后续清理工作;
@硬件初始化包括:1、关看门狗;(避免一直重启)
2、初始化时钟;
3、初始化SDRAM;(内存);
2、Nor Flash方式
@由于Nor Flash的特点,以这种方式启动,加电后CPU直接从Nor Flash的0地址开始执行,不用把程序搬到SDRAM中去。
从那种方式启动,则有硬件来完成,当两个引脚OM0和OM1都为低电平时,加电时CPU从片内SRAM的0地址开始执行,否则只要两个引脚有高电平时,则从Nor Flash的0地址开始执行,总之都是从0地址开始执行。