当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]摘要:介绍针对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也已经调试成功)。另外,本文介绍的文件系统对硬件平台的配置要求降低,并且对于文件操作的运行速度并未减慢。

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

在嵌入式系统的“至暗时刻”——意外掉电,文件系统的表现往往决定了设备的生死。对于工业控制、汽车电子等对可靠性要求极高的场景,数据完整性是不可逾越的红线。本文基于ESP32-S3平台,对FATFS、LittleFS和SPI...

关键字: 文件系统 ATFS

在计算机科学中,文件系统是操作系统最关键的组件之一,它如同数字世界的"图书馆管理员",负责组织、存储和检索海量数据。从智能手机的照片存储到超级计算机的并行计算,文件系统无处不在却又鲜为人知。

关键字: 文件系统 操作系统

随着汽车向电动化、智能化、网联化加速转型,车载电子系统对存储技术的要求日益严苛。从发动机控制单元(ECU)到高级驾驶员辅助系统(ADAS),再到自动驾驶决策平台,都需要兼具高速读写、非易失性、宽温适应和低功耗的存储解决方...

关键字: 车载电子 存储技术 辅助系统

在可持续能源蓬勃发展的当下,如何高效获取、存储并利用能源,已成为全球科技创新的核心议题。随着全球气候变化和能源需求增长的双重压力,清洁能源的高效利用正成为全球关注的焦点。而在新能源时代,能量收集与存储技术的重要性愈加凸显...

关键字: 新能源 能量 存储技术

上海 2025年6月20日 /美通社/ -- 6月18日,上海世界移动通信大会(MWC 2025)在上海新国际博览中心盛大启幕。德明利以"智存无界,全栈智能&qu...

关键字: 嵌入式 AI 全栈 存储技术

台北 2025年5月23日 /美通社/ -- 2025年5月20日至23日,全球科技盛会COMPUTEX台北国际电脑展顺利举办,德明利以"智存无界,全栈智能&qu...

关键字: 存储技术 全栈 TE COMPUT

北京2024年12月23日 /美通社/ -- 在当今数字化浪潮汹涌澎湃的时代背景下,大模型技术犹如一颗璀璨的明星,照亮了科技发展的广阔苍穹,而存储技术的变革,作为这一进程中的坚实基石,正日益成为产业界与学术界共同瞩目的核...

关键字: 模型 存储系统 存储技术 显存

北京2024年9月24日 /美通社/ -- 在数字化浪潮的汹涌澎湃中,闪存技术与人工智能(AI)的融合发展正逐步成为推动社会进步与行业变革的关键力量。浪潮信息在以"芯存储 AI未来"为主题的2024全...

关键字: AI 存储系统 存储技术 带宽

随着科技的飞速发展,尤其是物联网、自动驾驶、人工智能等领域的蓬勃兴起,对存储技术的需求日益增长。传统的存储器如DRAM和Flash虽已占据市场主流,但其在性能、功耗、耐久性和可靠性等方面已逐渐接近物理极限。因此,新兴存储...

关键字: DRAM Flash 存储技术

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

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