nandflash与Norflash的不同

今天写了个程序烧到mini2440板子里了,可怎么执行都不是想要的结果,程序也查了,没发现什么错误。

郁闷了很长时间,才想起来,把程序烧到了Norflash中了。

因为在mini2440在处理nandflash与Norflash是不同的。

    1. 当设置为nandflash启动时,S3C2440芯片会将nandflash前4k完全拷贝到片内的SRAM中(片内SRAM叫steppingstone),然后从片内的0地址开始执行。

    2. 当设置为Norflash启动时,S3C2440会从Norflash的0地址进行执行,读Norflash就像读内存一样,但写的时候一定的命令序列才能将数据写入到Norflash中,比如:

 
delay()
{
int i = 10000;
  
while(i--);
}

在Norflash中就不会正常执行了,因为i--,每执行一次都要重新将值写到i中,但Norflash没有特殊处理就写不进去,在while判断i值时,i永远为10000,所以程序就死到while循环这儿了。

posted on 2016-11-07 15:13  asulove  阅读(238)  评论(0编辑  收藏  举报

导航