基于ARM的嵌入式开发平台设计
摘要:ARM作为嵌入式系统中应用场景相对广泛的一款处理器,凭借着自身优秀的性价比、低消耗和高稳定性得到了市场的青睐。嵌入式Linux与ARM处理器的结合是嵌入式技术领域的主流解决方案,因此在ARM处理器上构建嵌入式Linux系统具有重要的实用价值。本文就是基于ARM嵌入式系统的基本概念和实际应用场景展开探讨,浅谈ARM嵌入式系统的使用价值和发展前景。
关键词:ARM;嵌入式;平台设计
引言:随着通信技术、计算机技术的飞速发展、微处理器工艺的改进以及社会的日益信息化,嵌入式系统在通信、工农业以及人们日常生活等各个领域得到了广泛的应用,嵌入式系统成为了当今社会的热门行业。为了能够维持整个系统的正常运营,就必须要保障系统内的信息指令能够快速下达到各个部分,同时各个部分也要有快速相应指令和反馈自身运转状态的能力。因此,在讨论ARM的嵌入式系统软件开发课题时,必须慎重考量各方面的因素。
1、嵌入式Linux系统的组成
基于Linux内核的嵌入式系统,使用任何特定的链接库或用户工具。嵌入式Linux通常由三部分组成:Bootloader、Linux内核和根文件系统,嵌入式Linux系统的开发不同于普通PC系统的开发。在嵌入式系统的开发过程中,需要编译嵌入式系统所包含的功能模块,最后生成一个单一的图像文件。自底向上的映像文件是:Bootloader、Linux内核、设备驱动程序、根文件系统和应用程序。在嵌入式Linux系统的开发中,系统配置的开发方法会随着应用程序的需求而变化。
ARM处理器核心可分为ARM7、ARM9、ARM9E、arm10e、ARM11、securicore、StrongARM、XScale等系列。ARM7、ARM9、ARM9E和ARM10E是ARM处理器的几个主流系列。这四个系列的处理器可以为不同应用程序的特定嵌入式系统需求提供特定的解决方案。基于ARMv7体系结构的新产品系列分为三个系列:A(应用领域)、R(实时领域)和M(控制领域),针对高端和低端的需求,提出了具体的核心。
2、基于ARM的嵌入式软件系统的设计策略嵌入式linux开发书籍
2.1软件平台的架构。
软件平台的架构。对于主流的 ARM 系统来说主要包括:BootLoader、系统软件、图形用户界面以及上层应用软件四个层次,在进行基本结构的架构时,应该对其进行整体性考虑,从不同层次的系统上进行最优选择,以达到整体效果的最优化。
2.2嵌入式操作系统的选择。
嵌入式操作系统主要包括:VxWorks、Linux 和 WinCE,在进行选择时,应该对三种操作系统的优缺点进行深入研究,了解其基本特点,在进行选择时可以有针对性的进行设计,软件系统的操作设计中,Linux 是发展最快、应用最广的,其主要性能较高,成为其首选的重要因素。WinCE 是从整体上对于有限资源进行多线程、完整优先权、多任务的操作,开发方便、快速,但是也存在着价格过高的缺点。对于 VxWorks 来说,其具有非常优秀的实时功能,其价格也是很高的,所以开发应用不够广泛。
2.3嵌入式 GUI的选择
GUI系统主要包括:高度裁剪的 X Windows 系统、MiniGUI、OpenGUI、QT/Embedded 等,对于每一种 GUI 都有其自身的特征,在进行选择是需要慎重考虑。对于第一种系统来
说,其在运行过程中占用的系统资源较多,加之对中文显示和中文输入等本地代码的使用,使得其运行的消耗更加巨大,所以主要应用于机顶盒等地方。对于第二种系统来说,主要用于提供一个轻量级的图形用户界面支持系统,但是其缺少方便的集成开发环境。所以,在进行 ARM 为基础的软硬件系统设计时应该结合多种条件进行综合考虑。
3、嵌入式Linux系统的研究与实现
3.1内核结构设计
Linux内存管理支持虚拟内存,允许多个进程安全地共享内存区域。根据系统应用环境中硬件与Linux的密切关系,Linux系统的内存管理包括硬件独立性和硬件相关性两个子部分。其中,硬件相关部分实现虚拟接口,支持相应硬件的内存管理。硬件无关部分主要实现进程映射和逻辑存储器交换。
3.2文件系统搭建
Linux文件系统由用于存储和管理数据的结构组成,包括操作系统启动记录、目录和文件。在早期的内核版本中,Linux文件系统只支持单一类型的文件。其结构与系统内核密切相关,
不利于文件系统的升级和更换。改进后的Linux内核通过在文件系统和系统内核之间提供一个虚拟文件系统(VFS)将内核与文件系统分离开来,使其能够支持多种类型的文件系统。Linux文件系统的源代码由两部分组成:一部分用于处理内核中的表和数据结构;另一部分由通过虚拟文件系统调用的函数组成,主要用于实现文件系统。Linux文件系统通常使用一个统一的实体,它将系统中所有不同类型的文件系统组合成一个树结构。安装Linux文件系统时,需要将其加载到文件系统树中。Linux内核中所有不同类型的文件系统都将安装在一个目录中,成功安装的文件系统中的文件将屏蔽原始目录中的文件。如果再次卸载新安装的文件系统,则可以还原原始安装目录中的原始文件。其中,嵌入式Linux的根文件系统是Linux内核启动后加载的文件系统。根文件系统包含Linux内核在运行时所需的必要系统文件和可执行文件。此外,可能还需要一些可执行文件来实现系统管理。在Linux内核加载文件系统之后,内核拥有根文件系统的目录结构,Linux可以执行根文件系统的二进制代码文件,如shell程序。
4、通信系统设计
即将推出的FlexRay高确定性和高速通信通信标准的动机包括开发新的线控功能,对确定性
和短延迟有严格要求,以及创新的主动安全功能。这些数据拥有属性是由车辆周围的360度传感器产生的大量数据流量。目前可用的CAN标准是限制在500kbps的速度,并且考虑到每帧的最大有效负载为64位,而且标准格式的CAN协定开销至少包含47位,它的有效载荷超过40%。在CAN中,竞争阶段在每个消息传输之前分配共享总线。在每个竞争中,标识符最低的消息获得传输权。FlexRay定义了10mbps的通信速度。总线时间根据时间触发模式分配,时间划分为通信周期。每个循环最多包含四个部分:静态、动态、符号和nit。通信时钟同步已经嵌入到标准中,使用了部分的光纤光栅,因此不会增加额外的成本。在所述通信段中,所述静态部分允许按照一个周期性循环传输时间关键信息,在该周期性循环中,系统始终在同一节点的给定位置保留一个固定长度的时隙。动态段允许灵活的通信。标识符优先级决定动态部分中的消息传输,首先传输最低标识符消息,类似于CAN。
FlexRay的时间触发模型不仅支持更好的时间确定性,而且开发人员还认为它是更好的可组合性和可扩展性范例。每个节点只需要知道其传出和传入通信的时隙。这些时隙的规范驻留在本地调度表中。不存在全局描述,每个节点根据自己的同步时钟执行。只要本地表保持一致,就不会出现计时冲突或干扰。由本地表的组合产生的虚拟全局表中留出的空闲插槽可用于将来的扩展。保留时隙可以保证时间保护和与定时故障隔离,而监护人可以避免
节点在分配的时间窗口之外传输。通信信道上的时钟同步和时间确定性允许实现端到端的计算,其中数据生成、数据消耗和通信进程以时间方式对齐,避免采样延迟。此外,系统级时间触发调度允许分布式控制模型的语义保护实现——包括具有同步反应语义的模型,就像Mathworks的Simulink等流行商业工具生成的那些模型。为了实现这些目标,时间触发的通信模型必须传播到计算层,使用时间触发的调度器和仔细协调的通信和计算调度,使调度成为全局的。然而,尽管OSEK标准是适合于时间触发的实时操作系统的候选标准,但目前的标准仅仅解决了通信层和实时操作系统层之间的同步问题。
结束语:
综上,本文研究了嵌入式Linux系统中Linux根文件系统的实现机制和裁剪方法。基于ARM处理器的嵌入式Linux系统,进一步研究了嵌入式Linux内核,并对现有的嵌入式Linux内核调度算法进行了改进,以满足较强的实时性要求。嵌入式Linux的实时性改进也是嵌入式系统领域的一个重要研究领域和热点。
参考文献:
[1] 王丹, 刘国栋, 张海涛,等. 基于ARM的嵌入式系统开发[J]. 微处理机, 2021, 42(01):3.
[2] 胡苏瑶. 一种基于ARM的嵌入式Web服务器的开发与实现研究[J]. 科技创新与应用, 2020(28):2.
[3] 李登科 . 基于 ARM 的嵌入式系统硬件设计探究[J]. 中国电子商务,2019(3):29.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论