调试U-Boot笔记(十)
发布时间:2020-12-15 18:18:05 所属栏目:百科 来源:网络整理
导读:? ? 前面学习了NorFlash的芯片手册,了解了NorFlash的擦除与编程流程。与u-boot源代码对比,符合NorFlash的指令流程。 ? ? 擦除指令序列为: ? ?? ? ? [0xAAA] = AA ? ? [0x554] = 55 ? ? [0xAAA] = 80 ? ? [0xAAA] = AA ? ? [0x554] = 55 ? ? [SectorAddr]
? ? 前面学习了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是怎么做的。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |