Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29119
  • 博文数量: 11
  • 博客积分: 170
  • 博客等级: 入伍新兵
  • 技术积分: 155
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-09 21:34
文章分类

全部博文(11)

文章存档

2011年(11)

我的朋友

分类: 嵌入式

2011-10-09 21:45:25

硬件平台:
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.c72行,有如下代码

  1. NFADDR_REG = 0; //Cycle 1



  2.         if (large_block)
  3.                  NFADDR_REG = 0; // //Cycle 2



  4.         NFADDR_REG = (addr) & 0xff; // //Cycle 3
  5.         NFADDR_REG = (addr >> 8) & 0xff; //Cycle 4
  6.         NFADDR_REG = (addr >> 16) & 0xff;////Cycle 5
 

显然这里使用了5Cycles,与文档是相符的。

 

如果对照本文件中的S3C2410的读FLASH的代码,那么对于NAND FLASH的读写将会有更深的理解。其实如果

你在本文件中改写了S3C6410读取的方法,那么也是可以成功使用tftp升级uboot的。

阅读(1316) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~