




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux存储器接口软硬件设计 刘淼threewater up 2006 3 21 嵌入式系统上常用的存储媒体 Flash芯片Flash媒质存储器 SD MMC卡 CF卡 SM卡 U盘 DOCIC卡 SIM卡硬盘 CF接口 IDE接口 Linux对存储设备的管理 块设备 文件系统字符设备也可以完成简单的存储工作嵌入式Linux的存储通常通过MTD设备 MTD设备驱动 MTD memorytechnologydevice 是用于访问memory设备 ROM flash 的Linux子系统在硬件和上层之间提供了一个抽象的接口 MTD把文件系统和Flash设备相隔离 MTD与文件系统 Flash硬件驱动层在init时驱动Flash硬件 NAND型Flash的驱动程序则位于 drivers mtd nand子目录下MTD原始设备有两部分组成MTD原始设备的通用代码 各个特定的Flash的数据 例如分区 mtd info mtd table mtdcore c mtd part mtd part c MTD设备层linux系统定义出MTD的块设备 主设备号31 和字符设备 设备号90 设备节点 通过mknod在 dev子目录下建立MTD字符设备节点 主设备号为90 和MTD块设备节点 主设备号为31 通过访问此设备节点即可访问MTD字符设备和块设备 根文件系统在Bootloader中将文件系统映像烧录到flash的某一个分区中 在启动的时候 将该分区作为根文件系统挂载 文件系统 内核启动后 mount NAND和NOR 性能比较 NOR和NAND是现在市场上两种主要的非易失闪存技术NOR的读速度比NAND稍快一些NAND的写入速度比NOR快很多NAND的擦除速度远比NOR的快大多数写入操作需要先进行擦除操作NAND的擦除单元更小 相应的擦除电路更少 接口差别 NORflash带有SRAM接口 线性寻址 可以很容易地存取其内部的每一个字节NANDflash使用复用接口和控制IO多次寻址存取数据NAND读和写操作采用512字节的块 这一点有点像硬盘管理此类操作易于取代硬盘等类似的块设备 容量和成本 NANDflash生产过程更为简单 成本低常见的NORflash为128KB 16MB 而NANDflash通常有8 128MBNOR主要应用在代码存储介质中 NAND适合于数据存储NAND在CompactFlash SecureDigital PCCards和MMC存储卡市场上所占份额最大 可靠性和耐用性 在NAND中每块的最大擦写次数是100万次 而NOR的擦写次数是10万次位交换的问题NANDflash中更突出 需要ECC纠错NANDflash中坏块随机分布 需要通过软件标定 产品量产的问题 更新MTD设备驱动程序 MTD的补丁http www linux mtd infradead org 新的MTD驱动程序针对Linux2 6支持2kpageflash DOC SSDFC等新特性参考 TheLinuxMTD JFFSHOWTO NandFlash连接原理 PXA270上扩展Nandflash 移植代码 建议先给内核打补丁有的linux内核带的MTD驱动程序有严重的问题nandflash相关代码在 drivers mtd nand 目录下添加自己的驱动程序 可以从 drivers mtd nand spia c派生 pxa27x nand c 修改drivers mtd nand config in配置菜单修改 drivers mtd nand Makefile添加obj CONFIG MTD NAND ARM pxa27x nand o 解读pxa27x nand c 模块入口 pxa27x init函数ioremap的作用pxa27x IO init 初始化Nandflash所用端口module init宏定义了linux加载的模块 启动的时候加载或者通过模块加载nand scan确定设备及其类型 挂载相应的驱动程序add mtd partitions函数注册MTD分区 add mtd device注册MTD设备 MTD上的Norflash驱动 使用CFI接口的flashIntelAMD驱动程序自动挂接 自动检测 PXA270上Norflash设备驱动 添加驱动程序drivers mtd maps uptechpxa27x flash c主要的工作在pxa27x flash probe函数中完成 查找分区 测试MTD设备 1 正确加载了设备 使用命令cat proc mtd 可以显示MTD设备信息 dev sizeerasesizenamemtd0 00e0000000004000 Nandflashpartition 创建节点 如果不是用devfs 在hostlinux上的romfs dev目录创建 mtd0 c 90 0 mtdblock0 b 31 0文件用mkfs jffs2 或者mkfs yaffs 生成文件系统映象 比如jffs2 img 测试MTD设备 2 目标板启动以后cpjffs2 img dev mtd0注意 这里使用的 dev mtd0是字符设备mount tjffs2 dev mtdblock0 var jffs2需要在编译内核的时候包含jffs2文件系统使用块设备在文件系统上进行其他测试 var jffs2 cp root hello 嵌入式linux下常见的文件系统 RomFS 只读文件系统 可以放在ROM空间 也可以在系统的RAM中 嵌入式linux中常用来作根文件系统RamFS 利用VFS自身结构而形成的内存文件系统 使用系统的RAM空间JFFS JFFS2 为Flash设计的日志文件系统Yaffs 专门为NandFlash设计proc 为内核和内核模块将信息发送给进程提供一种机制 可以查看系统模块装载的信息devFS 设备文件系统 Linux上的Ext2fs 支持4TB存储 文件名称最长1012字符可选择逻辑块快速符号链接Ext2不适合flash设备是为象IDE设备那样的块设备设计的 逻辑块大小必须是512byte 1KB 2KB等没有提供对基于扇区的擦除 写操作的良好管理如果在一个扇区中擦除单个字节 必须将整个扇区复制到RAM 然后擦除 再重写入在出现电源故障时 Ext2fs是不能防止崩溃的文件系统不支持损耗平衡 缩短了flash的寿命 jffs jffs2文件系统的优缺点 日志文件系统提供了更好的崩溃 掉电安全保护jffs2支持对flash的均匀磨损在扇区级别上执行闪存擦除 写 读操作要比Ext2文件系统好文件系统接近满时 JFFS2会大大放慢运行速度 垃圾收集 Nand上yaffs文件系统的优势 专门为Nandflash设计的日志文件系统jffs jffs2不适合大容量的Nandflashjffs的日志通过jffs node建立在RAM中 占用RAM空间 对于128MB的Nand大概需要4MB的空间来维护节点启动的时候需要扫描日志节点 不适合大容量的NandflashFAT系统没有日志 编译yaffs文件系统 mtd的最新补丁升级 接口更新 适合与yaffs与原有的mtd驱动程序不兼容 需要重写如果使用旧mtd驱动需要定义Makefile中MTD OLD DCONFIG YAFFS USE OLD MTD参考文档 yaffs rootfs howto最新版的yaffs网站 http www aleph1 co uk armlinux projects yaffs 使用yaffs文件系统 通过cat proc yaffs命令可以看到yaffs系统的相关信息mount tyaffs dev mtdblock 0 mnt yaffsyaffs做root的问题 如何处理坏块 IDE接口软硬件设计 IDE接口简介 IntegratedDriveElectronics IDE 本意是指把控制器与盘体集成在一起的硬盘驱动器 通常说的IDE接口 称之为ATA AdvancedTechnologyAttachment 接口分类 ATA 1 IDE ATA 2 EIDE ATA 3 FastATA 2 UltraATA UltraATA 33 UltraATA 66 UltraATA 100及SerialATA IDE接口标准 低电平有效 IDE设备寄存器 嵌入式处理器上扩展IDE接口的考虑 电平标准是否满足 IDE接口为5V逻辑 与3 3V逻辑如何接口总线时序如何满足 读写时序和SRAM类似 通过组合逻辑即可满足 UP NETARM2410 S上IDE接口逻辑原理图 FPGA内部逻辑nGCSF信号地址译码的结果偏移地址0 x800000 IDE接口的驱动程序 在drivers ide arm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 26941-2025隔离栅
- 物业承包合同下新增厨师补充协议范文8篇
- 压力真空罐安全培训流程课件
- 2025年区块链行业区块链技术应用前景与金融改革研究报告
- 2025年物联网行业物联网技术应用前景研究报告
- 2025年火箭航天行业商业化前景预测报告
- 2025年环保行业绿色环保产品市场前景研究报告
- 2025年虚拟现实行业VR技术与虚拟现实应用前景研究报告
- 商品车电器使用培训课件
- 商品混凝土安全技术培训课件
- 股权代持协议(模板)8篇
- 《AI创意课件之设计》课件
- 医院会计笔试题目及答案
- 河南豫信电科所属公司招聘笔试题库2025
- GB/T 45345-2025金属及其他无机覆盖层工程用直流磁控溅射银镀层镀层附着力的测量
- 无人机教员聘用协议书
- 药物非临床研究质量管理规范
- 脑科生理病理图谱解读
- 全国青少年科技辅导员专业水平认证笔试考题
- (行业)常用表面处理工艺详解(行业讲座教学培训课件)
- 配电网安健环设施标准
评论
0/150
提交评论