spring1919 发表于 2014-2-17 14:54:29

ARM无法从NANDFLASH加载程序

我先描述一下故障现象:
1.未更换nandFLASH之前,ARM可以连接仿真器在线调试,程序运行正常,当写入nandflash后,程序无法运行,估计是加载不成功,当把源程序简化掉很多功能(只剩下点灯灭灯)后,程序可以从nandflash中加载成功运行;
2. 更换nandFLASH后,ARM可以连接仿真器在线调试,程序运行正常,当写入nandflash后,程序无法运行,当把简化程序写入后,程序也不能运行,并且出现了用JTAG读flash中程序代码错误(写入代码和读出代码对比,不一致,而且在首地址段读出的数据是0x30,这个0x30是我的写控制字,当在读函数里加入延时以后,读和写一致,这时候读可以读对,但是启动代码是做软件的说是固定的,无法加延时,按我的想的,如果不能加延时,那么arm自动加载时应该也会出错,因此导致程序无法运行)。
以上是故障现象,和我的一些分析,请各位帮忙分析一下,应该怎样解决这个问题,拖了好久一直没解决,请大家帮忙分析,谢谢!

maxiang1985 发表于 2014-2-17 15:39:58

mark                     

nome 发表于 2014-2-17 15:41:53

mark            

b25693065 发表于 2014-2-21 23:06:03

nandflash要ecc校验,不知道和你的问题有没有关系

spring1919 发表于 2014-2-23 15:00:57

b25693065 发表于 2014-2-21 23:06
nandflash要ecc校验,不知道和你的问题有没有关系

对,一开始就是因为没有ECC校验,FLASH内部块区有坏的,不知道你们那里flash这个程序对块是怎管理的,校验是怎做的,占用程序空间大吗?

ghostxdy 发表于 2014-2-23 15:03:53

原来那块NANDFLASH的坏块管理是怎样做的?原来的那块NAND是是用什么文件格式

spring1919 发表于 2014-2-23 15:10:26

ghostxdy 发表于 2014-2-23 15:03
原来那块NANDFLASH的坏块管理是怎样做的?原来的那块NAND是是用什么文件格式

就一直没做这方面的工作,出了这个故障以后,得做了,你们是怎做的呢?
页: [1]
查看完整版本: ARM无法从NANDFLASH加载程序