复网络通信背景下ARM嵌入式系统软件开发
2019-12-16江森
江森
摘要:提出复网络通信背景下ARM嵌入式系统软件开发系统。具体设计包括设备驱动程序开发、移植代码编写、嵌入式系统交叉调试。根据实验结果的对比,再对通信数据的调试度方面,本文设计的基于复网络通信的ARM嵌入式系统软件相比于通用设计有着比较大的优势,这体现在调试过程的平稳性上,基本保持在调试度标准线内浮动。
关键词:复网络通信;ARM;嵌入式;系统软件
中图分类号:G642 文献标识码:A
文章編号:1009-3044(2019)29-0021-02
根据世界现行电气与电子工程师协会(Association ofElec-trical and Electronic Engineers)的国际定义,嵌入式系统是一种用于控制、监管或辅助设备、仪器与车间运转的设置,是指的是以现实应用为中心、以计算机通信技术为应用前提、软硬件能裁减、适合系统对功能、安全性、经济成本、设备体积、损耗严格要求的专门化计算机系统。这一系统内部运转的程序利用实现自动控制与管理相关设备,有的甚至具备功能自适应性,拥有高度智能,所以这种技术具备非常广泛的社会价值。嵌入式系统是继计算机通信技术以后IT领域出现的又一个全新的关键技术发展方向。嵌入式系统现在已经被广泛地应用在计算机通信、电子铜通讯、工业设计、国防控制等诸多领域。伴随计算机技术和通信技术的双重进步,嵌入式系统的研究与开发拥有越来越巨大的市场潜力。
ARM作为一种新型的基于精简指令集合计算机(Base re-duced instruction set computer)建构的通用犯位微处理器。ARM公司是业界比较专业的16犯位嵌入式处理器专门提供商,其产品已经占领了大概百分之七十八的基于精简指令集合计算机(Base reduced instruction set computer)处理器市场。ARM处理器核拥有高性能、低成本和低耗能的诸多优势,因为市场占有率比较高、应用范围比较广,ARM处理器的一部分应用标准已经发展为便携式通信仪器、手持电子设备、多媒体数字消费等嵌入式方案中规定的国际标准嘲。一个嵌入式系统通常情况下能够分为四大内容组成,分别是嵌入式处理器、嵌入式外圈设备、嵌入式操作系统以及嵌入式应用软件平台,其中嵌入式处理器与嵌人式外圈设备均是嵌人式硬件平台的主要构成部分,嵌入式系统的四大部分之间是密切联系的,只有具备了这四个部分,才可以充分发挥出嵌入式系统的实际功能。
1基于复网络通信的ARM嵌入式系统软件开发
伴随信息化、自动化、智能化的创新式发展,嵌人式技术现今为止早已经发展为通信与消费类产品的未来发展方向。因为金融、工业、机器、国防等一系列领域对智能控制的现实需求也在不断增长,嵌入式微处理器在计算速度、扩展能力、安全性、损耗以及信息集成度等方面所具备的优良性能,造成嵌入式系统的应用范围逐渐扩大,尤其是最近几年嵌入式技术与计算机通信网络技术的双重结合在一定程度上大大扩展了嵌人式系统的应用范围与领域。综合嵌入式系统发展历史来看,在嵌入式系统发展早期,其应用设备比较简易,嵌入式软件主要表现在一些控制环节上。伴随嵌人式系统的迅猛发展,嵌入式系统的功能也越来越复杂化,简易控制逻辑已经没有办法满足其诸多要求,这个时候自动化、层次化的系统设计原则就显得越发重要,嵌入式软件也随之成为嵌入式系统设计创新与市场增值的关键性因素,也成为未来市场竞争力的有力表现。嵌入式系统主要是以应用为中心以及以计算机通信技术为前提条件的,并且其软件是能够进行大幅度裁减的,可以满足自身应用系统对功能属性、安全性、设备体积、损耗等指标的标准要求的专门还化计算机应用系统。它能够实现对其他设备的控制、监管等功能。本文就以完成嵌入式系统的软件开发为最终目的,阐明嵌入式系统软件的开发应用过程。
1.1设备驱动程序开发
在嵌入式Linux系统软件开发过程中,有相当一部分的工作量是服务于各式各样仪器设备的编写式驱动程序嘲。在软件平台上开发嵌入式LinuX的设备驱动程序和在其他平台上开发是一致的。总而言之,实现一个嵌人式Linux软件设备开发应用的一般环节大致如下所示:首先,查看设备内部的运作程序图,了解和掌握设备的基本工作原理;第二步,对主设备号进行定义;第三步,在驱动程序内部完成驱动初始化。一旦驱动程序采取模块的手段,那么就需要执行模块初始化。第四步,设计需要实现的一系列文件操作,对file-operations结构进行定义;第五步,执行中断服务(中断在这里指的并不是每一个驱动设备所必需的);第六步,对该驱动程序编译过程中,在其内核中需要使用insmod指令完成加载步骤;第七步,开始测试该设备。
至于音频设备的驱动,$4C2190X内设定的135总线接口可以与其他生产厂商提供的通信编解码芯片连同使用。提供135接口可以读取到135总线上储存的大部分数据,也能够为FIFO数据提供有关DMA的输入模式,可以对数据进行传输和接收。$4C2190X中,有两条并行数据线,一条用于信号数据线的输人,一条用于信号数据线的输出,以便可以对进行传输。音频设备的驱动程序涉及的设备驱动代码较多,主要有以下几个主要模块:UDAl314驱动初始化;开启音频设备;数据缓存设计;%ioefl系统调取;%音频数据的相关录制。
1.2编写移植代码
在深度掌握目标系统基本架构和操作原理的前提下,真正的编写移植代码工作相对来说就比较简单tzC/OS-II的综合源代码量大概是7000-8000行,总共有18个文件,而且uC/OS-II自身代码基本上均是用ANSIC编写的,其代码层次比较简单。根据《嵌入式软件操作系统IxC/OS-II》的一系列标准要求的指导,我们能够明确和软件平台有关的移植代码单单只是存在于OS_CPU_A.ASM、OS_CPU_C.C以及OS_CPU.H这三个文件之中。工作流程中需要完成的工作量也比较少,只需要对三个与ARM架构有关的文件进行删改即可,代码量大概固定在600行。
必须要明确移植部分需要删改的部分内容:
与编译器有关的数据类型包括BOOLEAN、INT2S、INTl3U、INT9U、INT13S、INT62U、INT64S、FP64、FP89;宏包括OS_ENTER_CRITICALO与OS_EXIT_CRITICAL0两类;数据常量具体是指OS STK GROWTH;数据函数主要有OS_TASK_SW0、OSTaskSflnitO;另外在OS_CPU_C.C内,编写20个用户函数,其中唯一需要设计的函数就是OSTasklnit(1,作用于初始化任务的一系列堆栈。
1.3嵌入式系统交叉调试
交叉调试(crOSS Debugging)普遍意义上来讲被称之为远程调试(Remote debugging),是一种调试器能够以某种手段控制、链接、访问目标机上被调试进程的运转手段,并具备查询与删改目标机上内存单元(Memory unit)、寄存器(Register)以及被調试进程中变量值(variate-value)等各式各样调试功能的调试手段。嵌入式系统的交叉调试有许多方法,能够被细划为不同运行层次。嵌入式操作系统的内核调试比较来说会比较困难,由于在其内核运转中不方便随意增添调试器程序环节,只可以利用远程调试的手段,利用串口与操作系统内置的调试桩fDebng-gingpile)进行通信,实现调试。
嵌人式软件在经过一系列标准的编译(compile)与链接(Tn-terlinkage)之后就可以继续进入调试阶段(Debugging Stage),调试作为软件开发中至关重要的一个关键流程,嵌入式软件开发过程中的交叉调试和通用软件开发过程中的调试方式还是有一定差别的。
在通用软件开发过程中,调试器(Debugger)和被调试的程序通常会在同一台计算机上进行运行,调试器(Debugger)作为一个单独运转的应用进程,它利用操作系统提供的调试接口去控制被调试过程。而在嵌入式软件开发过程中,调试的时候需要采取的就是在主机与目标机之间进行常规交叉调试,调试器依然会运行在主机的通用处理系统之上,调试器与被调试进程利用串口或计算机网络进行通信,调试器能够控制、链接被调试进程,读取被调试进程的当前信息,并可以改变被调试进程的运转状态。
2实验与效果分析
为了更加清楚、具体的看出本文设计的复网络通信背景下ARM嵌入式系统软件的实际应用效果,特传统ARM嵌入式系统软件进行对比,对其渗透率大小进行比较。
2.1实验准备
为保证实验的准确性,将两种ARM嵌入式系统软件设计置于相同的试验参数之中,进行防渗能力试验。试验参数见下表。
2.2实验结果分析
实验过程中,通过两种不同的ARM嵌人式系统软件设计在相同环境中进行工作,分析其渗透率能力的变化。实验应用效果对比图见下图所示。
根据实验结果的对比,本文方法在通信数据调试度方面比通用设计有着较大优势,体现在调试过程的平稳性上,基本保持在调试度标准线内浮动。
3结束语
本文对复网络通信背景下ARM嵌入式系统软件开发进行分析,依托复网络通信机制,根据ARM数据反馈与分析,对嵌人式系统软件开发进行设计。实验论证表明,本文设计的方法具备极高的有效性。希望本文的研究能够为复网络通信背景下ARM嵌入式系统软件开发的方法提供理论依据。