您的位置 首页 汽车

嵌入式文件体系在工程机械监控器上的移植

在基于嵌入式操作系统的工程机械智能监控器的开发过程中,完成了文件系统的移植,将周立功公司的ZLG/FS文件系统经过一系列修改,嵌入到监控器的系统程序里运行。文件系统的硬件平台选用三星公司的Nand F

摘要:在根据嵌入式操作体系的工程机械智能监控器的开发进程中,完结了文件体系的移植,将周建功公司的ZLG/FS文件体系通过一系列修正,嵌入到监控器的体系程序里运转。文件体系的硬件渠道选用三星公司的Nand Flash芯片K9F2808,作为文件体系的硬件依托。文件体系移植完后该芯片就成为体系硬盘,用来存储体系程序和字库文件等。
关键词:文件体系;Nand Flash;嵌入式体系;移植;K9F2808

导言
文件体系是操作体系中安排、存取和维护数据的一个重要部分,文件体系的首要方针是进步存储器的利用率,承受用户的托付施行对文件的操作。在本工程机械智能监控器项目开发之初,文件体系这部分规划是由合作方北京航空航天大学完结的,其时运用的嵌入式文件体系是μC/OS—II。我方接手今后,对该文件体系进行了分析研究,发现该文件体系尽管能用,可是有些当地不行完善,存在一些问题和危险:比方μC/OS-II内存占用比较大,且功率不高级。因而,又从网上下载了周建功文件体系(ZLG/FS),发现其十分合适监控器项目的运用,而且具有如下特色:
①高度兼容FAT12、FAT16、FAT32;
②可移植;
③支撑多任务操作体系;
④兼容多种介质。
ZLG/FS选用模块化层次结构规划,并运用底层驱动程序来兼容不同的硬件结构和不同的介质。共包含6个模块:运用程序模块、文件办理与目录办理模块、文件分配表办理与文件目录表办理模块、逻辑盘办理模块、高速缓存(Cache)办理模块、底层驱动程序模块。终究决议将该文件体系移植到智能监控器体系上面。

1 硬件渠道简介
本体系选用方针机+宿主机的开发形式,方针渠道是ARM S3C44B0,宿主机是PC机+μC/OS-II操作体系。S3C44B0是根据ARM7TDMI内核的32位微控制器,它是三星公司专门为PDA、Internet设备和手持设备等开发的微处理器。该芯片还包含有8 KB的Cache,这一特性使开发人员能够将μC/OS-II操作体系移植到根据该处理器的方针体系中。

2 文件体系在智能监控器体系上面的移植进程
2.1 底层驱动程序的编写
硬件上,将三星公司的Nand Flash芯片K9F2808开发为体系硬盘。需求编写两部分的驱动程序:一是关于该Flash芯片的驱动程序,也便是对该芯片最底层的最根本的操作,树立文件Flash.c,包含Flash复位、读Flash ID号、擦除Flash的一块、读扇区、写扇区等函数,这部分函数代码由芯片公司供给;二是关于文件体系的根底操作,创立文件K9F2808.c,它调用flash.c里边的函数,为上层的程序供给一个与底层无关的接口。
文件K9F2808.c首要包含以下函数:创立FAT12、创立根目录、格局化Flash盘、将MBR写到盘里等。在格局化Flash盘这个函数里,首先要调用Flash复位的函数,然后擦除Flash盘的第0个Block,擦除成功今后,将MBR的内容写入该Block的第一个Page里,这是Flash盘的引导扇区,写入的MBR包含了该盘的一些根本信息。至此,完结了格局化盘的第一步,为后边持续格局化打下根底。
下一步便是要创立FAT12,用两个扇区(即两个Page)作FAT区,并将其内部单元悉数初始化为00H,相继的2个扇区作FAT区的备份。接下来,把第1个Block擦除去,然后在这个Block里创立该盘文件体系的根目录,并将根目录区初始化为00H。这样就把一个Flash盘给格局化为FAT12文件体系格局。可是还不能往盘里存东两,由于还需求一些文件体系上层的办理。
在K9F2808.c这个文件里,函数K9F2808(uint8 Cammand,vold*Parameter)是底层驱动程序与上层的接口函数,第一个参数代表要对该盘进行操作的指令,比方磁盘初始化、封闭磁盘、读扇区、写扇区等;第二个参数是一个结构体,它包含了当时操作的磁盘的一些读写根本信息。在文件体系的上层程序里这个函数将被频频调用。
2.2 逻辑盘办理的程序移植
这是底层驱动程序上面一层的程序,文件名是disk.c,其间首要包含:磁盘初始化、读取磁盘信息、获取空盘信息、添加一个驱动程序。删去一个驱动程序等函数。这部分程序勿需改动,能够原封不动地延用ZLG—FS里供给的程序,在此不再赘述。
2.3 高速缓存办理的程序移植
这是FAT文件体系关于Cache办理的部分,文件名是RWSec.c,首要包含:初始化磁盘Cache、解锁指定Cache(答应切换出内存)、把指定扇区写回逻辑盘、把指定Cache写回逻辑盘、把一切已改动的扇区写回逻辑盘、从内存获取一个Cache、为逻辑盘上的一个扇区翻开一个Cache并确定、从逻辑盘读取一个扇区、指定逻辑盘的指定一个扇区被改写等。除了极个别的当地需求稍做修正外,这部分函数根本上都延用ZLG—FS里供给的程序。
2.4 文件分配表办理(FAT)的移植
文件Fat.c首要是FAT文件体系的文件分配表根本操作函数,包含:回来FAT表指定簇的下一个簇号、分配下一个簇、为指定簇链添加一个簇、删去指定簇链。这些函数能够放心大胆地运用,不需求修正。
2.5 文件目录表办理(FDT)的移植
文件Fdt.c是关于FAT文件体系的文件分配表根本操作程序。首要包含:将指定簇一切数据清零,读取FDT信息,写FDT信息,获取根目录指定文件(目录)信息,获取指定目录指定文件(目录)信息,设置根目录指定文件(目录)信息,设置指定目录指定文件(目录)信息,在指定目录查找指定文件(目录),在指定目录处添加指定文件(目录),在指定目录删去指定文件(目录),改动指定目录指定文件(目录)的特点,判别目录是否为空,在指定目录检查指定文件(目录)是否存在。除了对最终两个函数作了很小的改动外,其他函数都没用动。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/297144.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部