文件名称:ARM9 2410移植之Nand flash 驱动的编写与移植.pdf
文件大小:87KB
文件格式:PDF
更新时间:2013-02-22 09:49:02
ARM9 2410 Nand flash 驱动
1 Nand flash 工作原理 .......................................................................................................................... 2 1.1 Nand flash 芯片工作原理 ...................................................................................................... 2 1.1.1 芯片内部存储布局及存储操作特点 ........................................................................ 2 1.1.2 重要芯片引脚功能 ..................................................................................................... 3 1.1.3 寻址方式 ...................................................................................................................... 3 1.1.4 Nand flash 主要内设命令详细介绍 ........................................................................... 4 1.2 Nand Flash 控制器工作原理 ................................................................................................. 4 1.2.1 Nand Flash 控制器特性 ............................................................................................... 5 1.2.2 Nand Flash 控制器工作原理 ....................................................................................... 5 1.3 Nand flash 控制器中特殊功能寄存器详细介绍 ................................................................. 5 1.4 Nand Flash 控制器中的硬件 ECC 介绍............................................................................... 6 1.4.1 ECC 产生方法................................................................................................................ 6 1.4.2 ECC 生成器工作过程 ................................................................................................... 6 1.4.3 ECC 的运用 ................................................................................................................... 6 2 在ADS 下 flash 烧写程序................................................................................................................ 7 2.1 ADS 下flash 烧写程序原理及结构....................................................................................... 7 2.2 第三层实现说明 ..................................................................................................................... 7 2.2.1 特殊功能寄存器定义 ................................................................................................. 7 2.2.2 操作的函数实现 ......................................................................................................... 7 2.3 第二层实现说明 ..................................................................................................................... 8 2.3.1 Nand Flash 初始化....................................................................................................... 8 2.3.2 Nand flash 复位 ............................................................................................................ 8 2.3.3 获取 Nand flash ID ...................................................................................................... 9 2.3.4 Nand flash 写入 ........................................................................................................... 9 2.3.5 Nand flash 读取 ..........................................................................................................10 2.3.6 Nand flash 标记坏块 ..................................................................................................12 2.3.7 Nand Flash 检查坏块 .................................................................................................13 2.3.8 擦除指定块中数据 ...................................................................................................13 2.4 第一层的实现 .....................................................................................................................14 2.4.1 NandFlash 烧写主函数说明 .....................................................................................14 3 在 U-BOOT 对Nand Flash 的支持 ................................................................................................16 3.1 U-BOOT 对从Nand Flash 启动的支持 ................................................................................16 3.1.1 从Nand Flash 启动 U-BOOT 的基本原理 ..............................................................16 3.1.2 支持 Nand Flash 启动代码说明..............................................................................16 3.2 U-BOOT 对Nand Flash 命令的支持 ...................................................................................18 3.2.1 主要数据结构介绍 ...................................................................................................19 3.2.2 支持的命令函数说明 ............................................................................................... 20 3.2.3 U-BOOT 支持 Nand Flash 命令移植说明 ................................................................ 20 4 在 Linux 对Nand Flash 的支持 .....................................................................................................22 4.1 Linux 下Nand Flash 调用关系 ............................................................................................22 4.1.1 Nand Flash 设备添加时数据结构包含关系 ............................................................22 4.1.2 Nand Flash 设备注册时数据结构包含关系 ............................................................22 4.1.3 当发生系统调用时数据结构调用关系 .................................................................23 4.2 Linux 下Nand Flash 驱动主要数据结构说明 ...................................................................23 4.2.1 s3c2410 专有数据结构 ..............................................................................................23 4.2.2 Linux 通用数据结构说明 .........................................................................................24 4.3 Linux 下Nand Flash 驱动说明 ............................................................................................29 4.3.1 注册driver_register ..................................................................................................29 4.3.2 探测设备probe .........................................................................................................30 4.3.3 初始化 Nand Flash 控制器 ......................................................................................30 4.3.4 移除设备 ....................................................................................................................30 4.3.5 Nand Flash 芯片初始化 .............................................................................................31 4.3.6 读Nand Flash ........................................................................................................31 4.3.7 写 Nand Flash ...........................................................................................................31