当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]摘要:介绍针对ARM7架构的嵌入式系统中,以CF卡作为存储介抽的文件系统的设计,并通过GPS车辆导航系统中地图信息读写的具体应用介绍了其软硬件电路的实现方法。 关键词:嵌

摘要:介绍针对ARM7架构的嵌入式系统中,以CF卡作为存储介抽的文件系统的设计,并通过GPS车辆导航系统中地图信息读写的具体应用介绍了其软硬件电路的实现方法。 关键词:嵌入式文件系统 CF卡 ARM7 随着微控制器性能的不断提高,嵌入式应用越来越广泛。但是目前市场上的大型商用嵌入式实时系统,价格昂贵,而且都针对特定的硬件平台。对于中小型系统开发,购买商用实时系统并不划算。 目前我们正着手将嵌入式系统软件应用于汽车卫星导航仪系统的一步开发。传统的嵌入式应用并不包括文件系统,而我们要实现的文件系统需要在车辆导航系统中实现地图数据文件的读写。因此它既要支持与MS-DOS兼容的文件系统也要支持其它类型的文件系统。

另一方面,从数码相机到MP3播放机,从掌上电脑到数码摄像机,CF(CompactFlash)卡由于具有体积小、兼容性强、价格相对低廉等诸多优点,在数码设备上的应用越来越广泛。但若想在CF卡与PC之间传递数据,通常不得不借助于专门的读卡器,这给PC的用户带来了不小的麻烦。 CompactFlash卡全称为“标准闪存卡”,简称“CF卡”。CF卡的应用空间比较广,最常见的是在数码照相机中用于照片的存储。由于CF卡内部采用模拟硬盘控制器的设计,使得CF卡可以比较容易地通过IDE接口实现与电脑的连接,一定程度上可以起到移动存储的作用。 一般的嵌入式系统不会提供读写CF卡的接口,所以需要在文件系统中专门设计一个驱动程序。 1 基本原理 图1所示的CF卡中,主机系统的控制器接口允许数据从Flash介质读写。CF卡的存取方式有三种:Memory方式、I/O方式以及True IDE方式。我们选择的是True IDE方式。需要注意的是,当主机电源一直接通时,拔插CF卡将会使其从原来的True IDE方式重新配置成PC Card ATA方式。所以要让CF卡一直工作在True IDE,需要在电源加电启动时将OE输入信号接地。此方式也支持8位存取,但我们选择了16位存取。一次最多存取的扇区数可由命令码Ech中的第47参数字决定。

CF卡跟硬盘的结构相同,如图2所示。在引导区中装有用于启动系统的代码,以及有关文件系统的重要信息,随后是记录所有磁盘空间的表,再下来就是根目录,然后是所有其它的东西。引导扇区在其末尾处包含有分区表。此表包含了用以标示每个分区开始和结束的表项,最多可以有四个分区,每个分区可包含不同的文件系统。紧随引导区之后的是FAT(文件分配表),用来记录设备中所有的磁盘空间的信息(此表与UNIX中的I-node表和空闲表具有相同的功能)。 设计软件时,同时考虑了通用性及可扩展性,目的在于使该文件系统无需分别修改便能够对CF卡、IDE硬盘、RAM Disk、电子盘、SD等不同的存储介质进行操作;读出这些存储介质中的数据,并且可以将数据输送到不同存储设备上。 为了达到这些目的,我们针对不同CPU的不同处理方法,对硬件操作程序进行分离,将设备有关的底层程序变成与设备无关的上层操作。这样,当系统新增功能之后,不必更改每个子程序,只需要在某些接口文件的数据结构中添加或者更改数据项即可;又考虑到用户对上层操作的透明性,我们采用面向对象的方法,上层结构中存取操作的driver结构(含read、write数据项)是虚拟的,在底层才将它具体化为CF卡的读写扇区命令(操作码为:20h、30h)。

软件程序的主要流程如图3所示。 2 系统设计实现 根据上述原理,可完成软件设计,其基本框架如图4所示,分为六个主要部分。 其中,CF卡驱动程序设计的关键是CF卡的存取操作函数所采用的命令码有些不同。另外,我们使用驱动程序对象来代表CF卡设备驱动程序。该驱动程序对象对于用户是部分不透明的,数据项包括读写函数的指针,这些函数由文件系统程序输出(包括两部分函数,用户可见API函数调用和用户不见驱动存取函数)。此对象的数据结构声明如下: typedef struct CF_XFILE_DRIVER{ BYTE driver_name; /*介质标示;CF卡、IDE硬盘、Flash卡、RAMDISK等,删除驱动的话,需要重新记录DRIVER号*/ …… /*IRP处理函数*/ }CF_XFILE_DRIVER; 如果有多个CF卡,需要用另外一个特定的数据结构Next_Driver来把它们水平连接在一起。然后,用链表来管理这些数据结构,管理方式类似于 WDM(Windows Driver Model)。

3 测试分析 经过调试运行,该文件系统性能良好。与我们之前已经移植过的Nucleus、μC/OS-II、UNIX的操作系统的文件系统相比,本文介绍的文件系统可移植性更强;除了文中着重介绍的CF卡,经过对底层驱动的简单修改就可以应用于其它存储介质如RAMdisk、IDE硬盘、Flash等(其中IDE硬盘和Flash也已经调试成功)。另外,本文介绍的文件系统对硬件平台的配置要求降低,并且对于文件操作的运行速度并未减慢。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2023年9月20日 /美通社/ -- 2023年9月19日-23日,第二十三届中国国际工业博览会(以下简称“工博会”)在国家会展中心(上海)举行,来自全球30个国家和地区的2800家展商,覆盖从基础材料、基础零部件...

关键字: 富士 存储技术 IBM 数据流

上海2022年12月16日 /美通社/ -- 近期,涅槃汽车发表了一篇文章,对智能座舱数据存储技术进行解析,内容如下: 1、 智能座舱的存储越来越重要,容量越大越大。 我们都知道,中国新能源汽车逐步在迈向正...

关键字: 数据存储 汽车 存储技术 BSP

北京2022年10月11日 /美通社/ -- 在1992年出版的《雪崩》一书中,作者尼尔·史蒂芬森第一次提出Metaverse(元宇宙)这一概念;斗转星移,三十年之后,随着Roblox上市、Facebook...

关键字: 区块链 存储技术 带宽 分布式

(全球TMT2022年8月4日讯)近日,Gartner公布2022年存储和数据保护技术成熟度曲线(Hype Cycle for Storage and Data Protection Technologies, 202...

关键字: 分布式 存储技术 GARTNER 软件定义

北京2022年4月28日 /美通社/ -- 数据是元宇宙的核心要素,面对元宇宙时代的海量数据爆发,如何实现安全、可靠、高效存储?日前,浪潮信息参与第五期开放计算技术沙龙“元宇宙存储研究与实践”,与来自中国科学技术大学、郑...

关键字: 区块链 云存储 数据中心 存储技术

北京, 2022年4月2日 /美通社/ -- 新一代信息技术正加速数字经济时代的到来,数据作为数字经济时代的信息支撑,数据成为继土地、劳动力、资本、技术之后的第五大生产要素,正在成为驱动经济社会发展的重要力量。 数据也...

关键字: 存储技术 AI

双方将推动分区存储技术标准化,共同致力于开发和推广硬件规范,以及软件应用模型,以建立一个强大的生态系统 深圳2022年3月30日 /美通社/ -- 三星和西部数据(Nasdaq: WDC)于今日宣布,双方已签署一份独特...

关键字: 三星 存储技术 西部数据

(全球TMT2022年3月30日讯)三星和西部数据宣布,双方已签署一份独特的合作谅解备忘录(MOU),以实现下一代数据放置、处理和结构(D2PF)存储技术的标准化,并推动其广泛采用。首先,双方将致力于为分区存储解决方案...

关键字: 三星 存储技术 西部数据

由于容量太小,如今CD、DVD光盘已经很少见了,游戏机及影院系统支持的也主要是蓝光光盘了,容量可达50GB。英国研究人员日前宣布研发了一种新型的5D光学存储技术,可以在CD大小的光盘中保存500TB数据,是蓝光光盘的1万...

关键字: 光盘 蓝光 存储技术

摘 要:随着物联网业务的兴起,参与网络连接的终端迅速增多,由此产生了海量数据。对于数据的存储,从数据收集的途径、分析开发实际需求以及安全性出发,分布式存储是最佳选择。

关键字: 物联网 分布式 存储技术 终端
关闭
关闭