首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Flash >

Nandflash 驱动移栽 (三)

2012-11-23 
Nandflash 驱动移植 (三)在飞凌提供的BSP中,Nandflash采用的是FMDPDD的结构,PDD主要是应对上层的接口,这里

Nandflash 驱动移植 (三)

在飞凌提供的BSP中,Nandflash采用的是FMD+PDD的结构,PDD主要是应对上层的接口,这里我们不需要修改,直接修改FMD就好。(至于在网上看到很多人说这个结构理论上不支持MLC的Nandflash,这个暂且不说).

FMD部分的驱动源码在 C:\WINCE600\PLATFORM\SMDK6410\src\common\nandflash\FMD\ 这个目录下边。

FMD的目录结构:

nand.s

cfnand.h

fmd_LB.h(实际并没用到)

fmd_SB.h(实际并没用到)

nand.h

fmd.cpp

sources

makefile



先看sources文件:

  /* 16Gbit DDP NAND Flash */ { 0xEC, 0xD5, 4096, 128, 8, 2,160, 0, 2, 8, BW_X08, 50, 350, 2000, 50}
这里就是使用的2G(16/8 bit=2byte) Nandflash K9GAG08U0D的一些参数配置,其中 0xEC, 0xD5表示的是Nandflash的ID号,总共有4096个block,每个block有128个page,每个page有8个sector

要支持4G(K9LBG08U0D) 的话,则加上下面的配置:


晕菜了吧,飞凌的这个2G 256M的BSP的Nandflash源码既然是这个样子,为什么还在那里号称8bit的ECC,还说开放源码。

靠别人都行的话,母猪都会上树啦!咱还是自己搞吧!

在上面UINT32    NFMLCBITPT;    //0x40 的后面添加以下代码:



NFCONT[11]这个才是8bitStop,但为什么源码中要定义NFCONT[12]为NF_ECC_8BIT_STOP,这个容易让人产生误解。咱还是改一下吧!

#define NF_ECC_8BIT_STOP()            {g_pNFConReg->NFCONT |= (1<<11);}


相关引用的暂时到这里,下一篇将会开始源码分析


热点排行