调试U-Boot笔记(十)

1713阅读 0评论2013-01-13 hevake_lcj
分类:嵌入式

    前面学习了NorFlash的芯片手册,了解了NorFlash的擦除与编程流程。与u-boot源代码对比,符合NorFlash的指令流程。
    擦除指令序列为:
    
    [0xAAA] = AA
    [0x554] = 55
    [0xAAA] = 80
    [0xAAA] = AA
    [0x554] = 55
    [SectorAddr] = 30

    对应在flash.c文件里的源代码为:
    
    在状态判断时,从刚擦除的扇区地址上读取数据。如果正常,则返回值的DQ7=1。如果DQ5上的值为1,则说明擦除失败。
    现在的问题是,上述的两种情况都没有出现。这是为什么呢?

    我记得前面看到,在解除扇区保护的时候,u-boot只置了对应扇区保护位的标置,并没有对芯片进行实质性的操作。详见《U-Boot调试笔记六》
    
    其中CFG_FLASH_PROTECTION并没有定义,是不是与这个有关系?
    可是,在u-boot/board/my2440/flash.c文件里没有找到 flash_real_protect() 函数。
    问题在哪里?

    我觉得,最好在网上去找找资料。这样闭门造车了不是个办法。或者看一下现成的Vivi是怎么做的。
上一篇:UBOOT移植详细 很全面
下一篇:U-Boot调试笔记(十一)-- 学习借鉴