===========================================
本文系作者原创, 欢迎大家转载!
转载请注明出处:netwalker.blog.chinaunix.net
===========================================
硬件平台:
MainBoard:OK6410
CPU: S3C6410
RAM: 256M
FLASH:1G K9GAG08U0D
Kernel:Linux2.6.28
BootLoader:Uboot1.1.6
6.关于NAND FLASH K9GAG08U0D的读写
在K9GAG08U0D.pdf的第10页,提到它的操作时钟周期为5Cycle,另外页大小是4096Byte,
6.
在uboot1.1.6_256M\cpu\s3c64xx\nand_cp.c的72行,有如下代码:
- NFADDR_REG = 0; //Cycle 1
- if (large_block)
- NFADDR_REG = 0; // //Cycle 2
- NFADDR_REG = (addr) & 0xff; // //Cycle 3
- NFADDR_REG = (addr >> 8) & 0xff; //Cycle 4
- NFADDR_REG = (addr >> 16) & 0xff;////Cycle 5
显然这里使用了5个Cycles,与文档是相符的。
如果对照本文件中的S3C2410的读FLASH的代码,那么对于NAND FLASH的读写将会有更深的理解。其实如果
你在本文件中改写了S3C6410读取的方法,那么也是可以成功使用tftp升级uboot的。
阅读(2026) | 评论(0) | 转发(2) |