


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式操作系统VxWorks中TFFS文件系统的构建嵌入式操作系统VxX29LV160BT芯片为例,讨论了在VxTDTFFS文件系统 嵌入式系统正随着Internet的发展而在各个领域得到广泛的应用,作为一个优秀的操作系统,VxS-DOS文件系统的磁碟设备的操作一样。 如图1所示,TrueFFS由核心层(corelayer)和三个功能层,翻译层(translationlayer),MTD层(MTDlayer),socket层(socketlayer)组成。 核心层(Corelayer):核心层主要起相互连接其他几层的功能。同时它也可以进行碎片回收、定时器和其他系统资源的维护。通常D以及samsung部分flash芯片的MTD层驱动。新的芯片需要新的MTD支持,你可以使用一个标准的接口来加入这些驱动。 以上四部分,我们通常要的工作就是后两层。 当在VxX29LV160BT芯片上建立TrueFFS文件系统 1、配置相关文件 在此,我以NorFlashMX29LV160BT为例,开发工具为Tornado2.2forPPC。要在VxTD层)链接到一起并和VxTD和翻译层模块应该包含到TrueFFS中。即: #defineINCLUDE_MTD_MX29LV/*MX29LV160BTMTDdriver*/ #defineINCLUDE_TL_FTL/*FTLtranslationlayer*/ #defineFLASH_BASE_ADRS0x2a10000/*Flashmemorybaseaddress*/ #undefFLASH_SIZE #defineFLASH_SIZE0x001f0000/*Flashmemorysize,2M(parameterblock)*/ 其他无关的MTDdriver包含头都#undef掉,同时定义Flash在系统中的基地址和大小。另外,还必须编辑sysLib.c中的sysPhysMemDesc数组,将Flash基地址和大小加入到MMU中,以供将来访问Flash,否则访问Flash会失败。如果BSP目录下没有sysTffs.c文件,那么我们可以从其他BSP目录下拷贝一个即可,然后做上述修改,其他的内容基本可以不用修改。 接下来需要修改tffsConfig.c文件,为了方便管理,通常我们将src/drv/tffs/目录下该文件拷贝到我们BSP目录下,然后再做出修改。在MTDidentifyRoutinemtdTable表中加入如下语句: #ifdefINCLUDE_MTD_MX29LV mx29lvMTDIdentify, #endif/*INCLUDE_MTD_MX29LV*/ 并在该文件开头声明。 #ifdefINCLUDE_MTD_MX29LV FLStatusmx29lvMTDIdentify(FLFlashvol); #endif/*INCLUDE_MTD_MX29LV*/ 最后就是将我们的flash相关MTD驱动加入到makefile中。即: MACH_EXTRA=mx29lvMtd.o 为了方便我们调试MTD驱动,应该在重新编译Vx #defineINCLUDE_DISK_UTIL #endif/*INCLUDE_DOSFS*/ 2、MTD驱动简介 做了上述配置后,进入VxtdIdentiy()函数,在mx29lvMtdIdentiy()函数主要是通过读取MX29LV160BT芯片的设备和厂商ID来识别它,然后对FLFlash结构成员进行初始化,最主要的几个参数是: type Flash内存的JEDECID号。 erasableBlockSize Flash内存的擦除块大小(字节)。设置这个值时应考虑到interleaving。因此,通常通过如下方法来设置它的大小。 Vol.erasableBlockSize=MX29LV_MTD_SECTOR_SIZE*erleaving; 对于MX29LV160BT,MX29LV_MTD_SECTOR_SIZE为64K字节。 chipSize 使用来构建TrueFFS文件系统的flash实际大小(字节)。 noOfChips 使用来构建TrueFFS文件系统的flash实际片数。 interleaving Flash内存交叉因子(interleavingfactor)。即扩展数据总线的设备数。比如,一个32位数据总线上,我们可以使用4片8位或2片16位的设备。 map 指向flash内存映射(map)函数。该函数将flash映射到内存区。 read 指向flash内存的读函数。在MTD驱动识别函数中,这个成员函数已经被初始化为缺省的读函数。通常情况下,我们不需要再初始化它,否则还需要修改很多相关的函数。 x29lvMtdIdentiy()函数中必须有如下定义: vol.x29lvTD驱动的调试,基本上就是调试写和擦除两个函数。在调试过程中,我们可以在这两个函数相应位置加入打印语句来调试。为了能调试这两个函数,我们通过在shell上输入命令tffsDevFormat来格式化flash,tffsDevFormat最终会调用mx29lvErase和mx29lvtdIdentiy。 tffsShoediaSize=0x1f0000 value=49=0x31=“1” 说明已正确识别到MX29LV160BT设备,设备号为0x2249。 三、建立TFFS设备 1、挂接设备名 MTD驱动调试成功后,我们就可以给flash设备挂接上dos设备名,如下操作: 格式化: tffsDevFormat value=1 usrTffsConfig0,0,”/tffs0” value=0 然后通过devs来查看挂接的设备名。 devs drvname 0/null 1/tyCo/0 1/tyCo/1 5host: 6/pty/rlogin.S 7/pty/rlogin.M 3/tffs0/ 8/vio value=25=0x19 看到/tffs0/说明挂接设备已经成功,接下来就可以利用dosFs文件系统相关命令来操作flash了。如,ls、copy等。 2、从Flash中启动并下载VxAP5910及其在3G的多媒体应用双内核嵌入式处理器OMAP5910及其在3G的多媒体应用下一篇论文: 基于IntelPXA263的智能移动信息终端设计查看本站更多关于嵌入式系统论文的文章 友同时还浏览了:基于SmallRTOS51的数据采集器设嵌入式Java运行平台数据库引
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路课程考试题及答案
- 技术投入成本效益分析-洞察及研究
- 2025年公营养师(四级)试题及答案
- 校长在2025年秋季开学教师大会上的讲话:-以师者之名为点灯人为同行者
- 林学考研科目试题及答案
- 初二化学考试题目及答案
- 规范食堂设计管理办法
- 中信银行还贷管理办法
- 中国生产现场管理办法
- 评价器考核管理办法
- 第一单元 写作《热爱写作学会观察》课件 学年统编版语文七年级上册
- 钙钛矿有机叠层太阳能电池界面工程与载流子传输机制
- 病媒生物防培训课件
- 《生产运营管理》 课件 第15章-数字化转型背景下生产运营模式
- 影像学检查技术课件
- 中国肿瘤药物相关血小板减少诊疗专家共识(2023版)
- 2025年福建省中考英语试卷真题(含标准答案)
- 2026年高考作文备考之题目解析及范文:“如果……就不妙了”转变为“即使……也没什么”
- 2025至2030年中国油用牡丹行业市场分析研究及发展战略研判报告
- CJ/T 151-2016薄壁不锈钢管
- DR操作常规文档
评论
0/150
提交评论