基于ARM的嵌入式系统平台的构建

发表时间:2021/5/7   来源:《科学与技术》2021年29卷第3期   作者:凡兆龙 范鑫 贺瑾瑜 张健 苏建斌
[导读] Linux操作系统以其开源代码、稳定高效的内核
        凡兆龙  范鑫  贺瑾瑜  张健  苏建斌
        北方自动控制技术研究所   030006
        
        
        摘要:Linux操作系统以其开源代码、稳定高效的内核、支持广泛的处理器结构和硬件平台以及良好的可定制性,在嵌入式领域得到了越来越广泛的应用。嵌入式Linux与ARM处理器的结合是嵌入式技术领域的主流解决方案,因此在ARM处理器上构建嵌入式Linux系统具有重要的实用价值。基于ARM处理器的嵌入式Linux系统的关键技术,研究了嵌入式Linux系统交叉编译环境的构建,以便方便快捷地构建基于ARM的嵌入式Linux系统。
        关键词:ARM;嵌入式系统;平台搭建
        

一.嵌入式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(控制领域),针对高端和低端的需求,提出了具体的核心。
        
二.嵌入式Linux系统的研究与实现
        2.1内核结构设计
        Linux内存管理支持虚拟内存,允许多个进程安全地共享内存区域。根据系统应用环境中硬件与Linux的密切关系,Linux系统的内存管理包括硬件独立性和硬件相关性两个子部分。其中,硬件相关部分实现虚拟接口,支持相应硬件的内存管理。硬件无关部分主要实现进程映射和逻辑存储器交换。
2.2文件系统搭建
        Linux文件系统由用于存储和管理数据的结构组成,包括操作系统启动记录、目录和文件。在早期的内核版本中,Linux文件系统只支持单一类型的文件。其结构与系统内核密切相关,不利于文件系统的升级和更换。改进后的Linux内核通过在文件系统和系统内核之间提供一个虚拟文件系统(VFS)将内核与文件系统分离开来,使其能够支持多种类型的文件系统。Linux文件系统的源代码由两部分组成:一部分用于处理内核中的表和数据结构;另一部分由通过虚拟文件系统调用的函数组成,主要用于实现文件系统。Linux文件系统通常使用一个统一的实体,它将系统中所有不同类型的文件系统组合成一个树结构。安装Linux文件系统时,需要将其加载到文件系统树中。

Linux内核中所有不同类型的文件系统都将安装在一个目录中,成功安装的文件系统中的文件将屏蔽原始目录中的文件。如果再次卸载新安装的文件系统,则可以还原原始安装目录中的原始文件。其中,嵌入式Linux的根文件系统是Linux内核启动后加载的文件系统。根文件系统包含Linux内核在运行时所需的必要系统文件和可执行文件。此外,可能还需要一些可执行文件来实现系统管理。在Linux内核加载文件系统之后,内核拥有根文件系统的目录结构,Linux可以执行根文件系统的二进制代码文件,如shell程序。
        
三.通信系统设计
        即将推出的FlexRay高确定性和高速通信通信标准的动机包括开发新的线控功能,对确定性和短延迟有严格要求,以及创新的主动安全功能。这些数据拥有属性是由车辆周围的360度传感器产生的大量数据流量。目前可用的CAN标准是限制在500kbps的速度,并且考虑到每帧的最大有效负载为64位,而且标准格式的CAN协定开销至少包含47位,它的有效载荷超过40%。在CAN中,竞争阶段在每个消息传输之前分配共享总线。在每个竞争中,标识符最低的消息获得传输权。FlexRay定义了10mbps的通信速度。总线时间根据时间触发模式分配,时间划分为通信周期。每个循环最多包含四个部分:静态、动态、符号和nit。通信时钟同步已经嵌入到标准中,使用了部分的光纤光栅,因此不会增加额外的成本。在所述通信段中,所述静态部分允许按照一个周期性循环传输时间关键信息,在该周期性循环中,系统始终在同一节点的给定位置保留一个固定长度的时隙。动态段允许灵活的通信。标识符优先级决定动态部分中的消息传输,首先传输最低标识符消息,类似于CAN。
        FlexRay的时间触发模型不仅支持更好的时间确定性,而且开发人员还认为它是更好的可组合性和可扩展性范例。每个节点只需要知道其传出和传入通信的时隙。这些时隙的规范驻留在本地调度表中。不存在全局描述,每个节点根据自己的同步时钟执行。只要本地表保持一致,就不会出现计时冲突或干扰。由本地表的组合产生的虚拟全局表中留出的空闲插槽可用于将来的扩展。保留时隙可以保证时间保护和与定时故障隔离,而监护人可以避免节点在分配的时间窗口之外传输。通信信道上的时钟同步和时间确定性允许实现端到端的计算,其中数据生成、数据消耗和通信进程以时间方式对齐,避免采样延迟。此外,系统级时间触发调度允许分布式控制模型的语义保护实现——包括具有同步反应语义的模型,就像Mathworks的Simulink等流行商业工具生成的那些模型。为了实现这些目标,时间触发的通信模型必须传播到计算层,使用时间触发的调度器和仔细协调的通信和计算调度,使调度成为全局的。然而,尽管OSEK标准是适合于时间触发的实时操作系统的候选标准,但目前的标准仅仅解决了通信层和实时操作系统层之间的同步问题。
        然而,在CAN中,故障通常只会产生有限的后果。所有接收器立即丢弃错误帧并尝试重新传输,不需要应用程序的干预。类似地,CAN对拜占庭式错误提供了一些有限的保护,尽管大多数串行数据设计者和用户可能没有意识到这一点。同样,这种保护必须在FlexRay的应用程序级别进行规划和明确实现。考虑到所有这些因素,FlexRay相对于500kbpsCAN通信的潜在加速比可能比预期的要低得多。
四.结束语
        综上,本文研究了嵌入式Linux系统中Linux根文件系统的实现机制和裁剪方法。基于ARM处理器的嵌入式Linux系统,进一步研究了嵌入式Linux内核,并对现有的嵌入式Linux内核调度算法进行了改进,以满足较强的实时性要求。嵌入式Linux的实时性改进也是嵌入式系统领域的一个重要研究领域和热点。
参考文献:
[1]贾豫东,张晓青.嵌入式系统设计实验平台构建[J].教育现代化,2017,4(06):84-85+95.
[2]王维,陈伟,邹燕飞.基于ARM-Linux的嵌入式系统平台构建[J].电脑知识与技术,2015,11(22):158+163.
[3]任慰.以实时操作系统为中心的嵌入式系统平台化设计研究[D].华中科技大学,2013.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: