基于NorFlash 的TFFS 文件系统移植.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于NorFlash 的TFFS 文件系统移植   引言   VxWorks 是风河于1983 年设计开发的一种实时操作系统(RTOS)。其凭借良好的可靠性和卓越的实时性被广泛应用于通信、军事、航空、航天等高精尖技术领域。目前,在嵌入式系统中很少使用硬盘作为存储设备, 一般会选择Flash 设备作为存储介质。而Flash 设备具有不同于硬盘设备的特性和操作方式,传统的文件系统不能满足这些要求,目前主要有两种解决方案: 在操作系统和Flash 存储之间增加FTL 翻译层, 从而屏蔽Flash 和普通硬盘的差异;设计新的文件系统, 这种新型的文件系统在各项操作上都已经考虑到了Flash 的各种特性,能够直接被系统引用。VxWorks 操作系统为Flash 设备提供的TFFS 就是一种使用FTL 层的Flash 文件系统,该中间层负责直接与底层Flash 设备的交互,并为上层dosFs 文件系统提供接口,以方便数据存取。在移植过程中, 出现了很多问题, 比如由于芯片型号不同,需要修改底层驱动代码;底层设备为NorFlash,不同于前面的NandFlash, 需要配置不同翻译层;处理器由16 位变为32 位, 需要根据地址线改变修改代码中地址等。本文介绍TFFS 文件系统的基本组成,重点分析该文件系统在移植过程中出现的主要问题。   1 TFFS 文件系统组成及移植   1.1 文件系统组成   根据分层设计思想,TFFS 文件系统内部分为4层,结构如 所示,包括:   (1)核心层。该层可将其他层连接起来协同工作,负责接收从上层发送的设备操作请求,调用其他三个子层次完成功能请求, 并对全局资源进行分配和释放。   (2)翻译层。该层是整个TFFS 文件系统的核心组成部分,主要实现dosFs 和TFFS 之间的交互,支持文件系统针对Flash 设备实现的各种机制,如磨损均衡、错误恢复、垃圾回收、虚实地址转换等,对设备使用寿命起着关键作用。   (3)Socket 层。该层提供底层块设备硬件的控制函数实现,包括设备探测、Socket 层注册等函数,主要提供与具体硬件板相关的驱动。本次移植使用的NorFlash 芯片直接焊接在主板上, 所以没有对该层进行修改。   (4)MTD 层。该层提供了Flash 识别、擦除、读写、地址映射函数的代码实现,属于Flash 设备驱动层,不同种类的芯片由不同的MTD 层实现。该层是移植过程中开发人员需要编写和修改的主要部分。   1.2 NorFlash 芯片连接   NorFlash 芯片提供类似SRAM 的接口, 所以NorFlash 可以直接使用内存读取函数memcopy, 无需编写特殊的驱动。本次移植实验基于两片相同的norFlash 芯片S29GL01GP, 每片大小为128MB, 两片norFlash 芯片都采用16 位模式,通过位扩展的方式构成256MB 存储空间, 支持每次32 位数据的读写。NorFlash 芯片与CPU 地址线连接方式如 所示。   CPU 的地址线address2 与NorFlash 芯片的地址线A0 相连,参考“S29GL01GP 芯片手册”,应将程序中的地址左移2 位, 才能正常地向Flash 芯片控制寄存器的地址写入数据。例如:   *((volatile unsigned int *)(0x555lt;lt;2))=0xaaaaaaaa;   *((volatile unsigned int *)(0x2aalt;lt;2))=0   *((volatile unsigned int *)(0x555lt;lt;2))=0   *((volatile unsigned int *)(0x555lt;lt;2))=0xaaaaaaaa;   *((volatile unsigned int *)(0x2aalt;lt;2))=0   *((volatile unsigned int *)(0x555lt;lt;2))=0   执行完以上指令,NorFlash 芯片将会执行整片擦除的内嵌算法,即将整个空间的所有位都置为1。   1.3 TFFS 文件系统移植过程   针对项目中的TFFS 文件系统的移植需求, 首先需要得到一个可用的BSP 包,然后在此包的基础之上添加TFFS 文件系统实现所需的文件到项目中, 根据已有的模板编写和修改MTD 层驱动程序, 修改配置文件,逐步编译、调试,最终在目标板上的NorFla

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档