毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

(ptoc)->dwSignature=0xFFFFFFFF

更新时间:2012-7-30:  来源:毕业论文

遇到这样的现象,就是系统启动的时候停住了,发现是eboot的TOC_Read函数调用VALID_TOC(g_pTOC)函数来判断(ptoc)->dwSignature的时候出错了,根据打印信息,(ptoc)->dwSignature=0xFFFFFFFF,正常情况下这个值是0x434F544E (表示NAND TOC)才对,而这之前是调用flash的read函数来从TOC的所在的block中读取的内容给g_pTOC,所以这个问题的根源就是MLC nand flash中保存TOC所在的块的页内容出错了,所以就导致了读取出来的(ptoc)->dwSignature=0xFFFFFFFF,对于这个问题产生的原因,想麻烦大家谈谈自己的理解和解决这个问题的思路与建议,先谢谢了

应该是你的flash损坏了,或者是其他硬件原因引起读错误吧。烧写正常吗?你有改TOC结构体里的内容吗? 
 
现在我也遇到了这个问题,TOC所在的块恰好是物理上的坏块。楼主怎么解决? 思路上是如果遇到了定义的TOC块是坏块就往下一个block写。是不是只要修改toc_read , toc_write两个函数?
 
今天试了下。 的确是修改了这两个函数就OK了。 我的是由于nandflash物理坏块引起。就是增加下判断是否TOC_BLOCK是坏块。如果是坏块就将TOC_BLOCK向后移。。当然修改了下loader.h中关于NBOOT EBOOT TOC LOGO块的分配 哈哈

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。