Chinaunix首页 | 论坛 | 博客
  • 博客访问: 411991
  • 博文数量: 36
  • 博客积分: 960
  • 博客等级: 准尉
  • 技术积分: 1368
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-13 19:26
文章分类
文章存档

2018年(3)

2012年(6)

2011年(27)

分类: LINUX

2011-07-27 19:40:04

===========================================
本文系作者原创, 欢迎大家转载!
转载请注明出处: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.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的。

 

 

 

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