题目(基于ARM的嵌入式软件开发的研究)院(系)名称信息工程学院专业名称计算机科学与技术学生姓名易国亮学生学号1412210248指导老师韩贝2017年7月2日摘要嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备,ARM作为一种嵌入式系统处理器,以高性能、低功耗、低成本等优点占领了大部分市场。
它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等部分组成,用于实现对其他设备的控制、监视或管理等功能。
本文主要介绍了基于ARM-Linux的嵌入式系统的开发利用、嵌入式系统的概念、组成及嵌入式系统上的应用程序,简述了嵌入式系统的开发流程,最后预测了嵌入式系统的发展前景和发展方向。
关键词:ARM,嵌入式,Linux,嵌入式系统Based on ARM embedded software development researchAbstractEmbedded system to control, monitor or auxiliary equipment, machines, or for the operation of the plant equipment, ARM processor, as a kind of embedded system, with high performance, low power consumption, low cost advantages, such as occupied most of the market. It usually consists of embedded microcontroller processor, peripheral hardware, embedded operating system and user application components, such as used to implement the control of the other devices, such as monitoring or management function.Based on ARM - Linux is mainly introduced in this paper the concept of development and utilization of the embedded system, embedded system, composition and application of embedded system, this paper expounds the development process of embedded system, finally forecasts the development prospect and development direction of the embedded system.Keywords:ARM, embedded Linux, embedded systems目录1 基于ARM的嵌入式系统 (1)1.1嵌入式系统的定义及特点 (1)1.2嵌入式系统的基本结构 (1)2 嵌入式软件系统开发方法 (2)2.1 交叉编译环境的建立 (2)2.2引导程序Bootloader的开发 (3)2.3 Linux内核开发 (3)3 基于ARM的嵌入式系统应用概况 (5)3.1嵌入式系统发展现状 (5)3.2基于ARM的嵌入式系统应用领域 (5)4 嵌入式系统的发展前景 (7)5总结 (8)参考文献: (9)1 基于ARM的嵌入式系统1.1嵌入式系统的定义及特点嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。
嵌入式系统以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系。
它与普通的计算机系统有着较大差别,主要表现在以下几个方面:1.嵌入式系统主要是为某种特定的应用而设的,系统的建立都是与应用结合在一起的;2.为了使嵌入式系统的可靠性高和功耗小,就要求嵌入式系统的软硬件都是可以自由添加和删除的;3.嵌入式系统的控制程序可以直接烧录到芯片之中,不需要磁盘载体;4.为了能把控制程序烧录到嵌入式系统的芯片中,就必须要有一套与嵌入式系统配套的编译软件和烧录工具。
[1]1.2嵌入式系统的基本结构嵌入式系统主要有嵌入式软件和嵌入式硬件两部分组成,硬件主要包括各种电子元件搭建的系统结构,其中最主要的部分就是控制微处理器;软件就是为完成特定工作程序和程序运行所需要的平台环境。
一般的嵌入式系统大致可以分为4个部分:嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件,其层次关系如图1所示。
图1 嵌入式系统体系结构2 嵌入式软件系统开发方法ARM(Advanced RISC Machines)是一个于1990年成立于英国剑桥的公司,主要以芯片销售为主,公司的前身是上个世纪80年代的Acorn Computers公司,以开发处理器为主要业务。
随着嵌入式系统应用的逐渐深入,ARM便被用来代替微处理器,有时也是嵌入式技术的一种称呼。
现如今,基于ARM微处理器的嵌入式系统已经广泛地应用于各个领域,包括工业自动化控制、电子数码消费产品、智能家电、通信工程、无线网络系统及军事领域等。
[2]基于ARM微处理器的嵌入式系统之所以能有如此广泛的应用,主要是因为:1.体积小、低功耗、低成本、高性能;2.支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;3.大量使用寄存器,指令执行速度更快;4.大多数数据操作都在寄存器中完成;5.寻址方式灵活简单,执行效率高;6.指令长度固定。
因此基于ARM的嵌入式系统今后将会有更广泛的应用前景。
本文主要是将ARM处理器应用到Linux系统开发中,以搭建ARM-Linux软件开发平台为例来深入研究基于ARM 微处理器的嵌入式系统开发。
2.1 交叉编译环境的建立嵌入式系统的应用软件需要在嵌入式系统适合的平台上运行,而对于大部分的Linux系统而言,是没有足够的资源来为嵌入式系统的软件提供开发工具和调试工具的。
因此,为了保证嵌入式系统的正常运行,为嵌入式系统的软件搭建一个开发运行平台是必需。
大部分的嵌入式系统软件开发所采用的都是一种交叉式编译方式,即编译、链接和调试的过程既可以在PC机上进行,也可以在目标机上进行。
[3]通过上面的介绍可以了解到,所谓交叉编译环境的搭建就是为了将软件代码编译好,烧录到嵌入式开发板中,以便其完成特定工作。
因此交叉编译环境需要一台PC机作为主机,还需要执行命令的嵌入式系统开发板,在主机上,通过编译软件将命令代码编译成开发板识别的语言烧录到其中,以便执行任务。
PC机与嵌入式系统开发板(ARM板)之间通过交换机(switch)链接到一起,交换机与开发板之间的链接是通过串口和网线相连的。
PC机在Linux系统上用交叉编译软件将命令代码编译为机器识别的二进制代码后,经由交换机,通过串互协议和TFTP协议,将其烧录到开发板上。
具体的操作流程如图2所示。
图2 交叉编译环境2.2引导程序Bootloader的开发Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。
[4]命令代码烧录到嵌入式开发板后,在运行之前,必须将嵌入式系统的硬件设备初始化,将内存释放,使新程序的运行达到一个良好的状态,以保证程序的顺利运行,也便于在出现故障后能保护系统内核和应用程序。
因此,嵌入式系统需要通过运行一个引导程序Bootloader来完成上述工作。
PC主机和目标开发板之间的连接有一支路是通过串口连接的,这在图2中可以看到。
Bootloader引导程序工作的时候是通过串口来进行数据的录入和输出操作的。
2.3 Linux内核开发Linux是最受欢迎的自由电脑操作系统内核,Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
Linux内核的开发主要包括Linux的配置和编译过程,以及最后形成Linux的映像文件。
对于嵌入式Linux内核的配置流程主要包括以下几个步骤:(1)根据Linux内核的源代码信息下载对应的ARM补丁,然后将补丁打上。
Linux 内核的源代码信息可以到arch/arm子目录中查看,头文件信息可以在include/asm-arm 目录中找到,接着需要修改Makefile文件,并定制相应的交叉编译器,搭建交叉编译环境。
(2)在对Linux内核的源代码进行相应的修改之后,为了确保交叉编译器的正常使用,需要将修改后的信息进行重置,这样能保证硬件配置和应用开发环境都能适应新的内核配置。
基于ARM的Linux嵌入式系统包括接收模块、执行模块和编译分析模块,每个模块间的活动都是根据命令流的指示进行,共同协调来完成特定的任务。
对于一个比较大型的系统来说,系统是由很多不同的构件所组成的,而每个构件又由很多的子结构形成,每部分都需要指令接收、解析、执行,因此只有将这些部分全部有机组合起来才能构成一个完整的嵌入式系统的软件架构。
[5]嵌入式系统中信息的解析主要分为变换分析和事务分析,这两种分析方式应用的场合不同,在不具有显著数据流的情况下应使用变换分析法来进行解析,相反若具有了显著的数据流信息,则就要采用事务分析法。
总之对于这两种解析法的运用要遵循灵活的原则,不能只认准其中的一种,要综合运用,对于负责的大系统而言,先将系统细化,再对于不同部分有针对性地采用相应的解析方法。
3 基于ARM的嵌入式系统应用概况3.1嵌入式系统发展现状嵌入式系统产品的应用范围越来越广,几乎覆盖了人类日常生活的各个方面,像手持电脑终端、电视机等终端、厨房的智能电器、家电、车载多媒体设备、医院的医疗设备及排号机等很多的公共服务设施。
随着科技的不断进步,社会的信息化、智能化及网络化都大跨步发展,这也为嵌入式系统的发展提供了更广阔的空间,为其进入更多的领域提供了技术支持。
如在自动控制领域,各种自动控制的机床、车床广泛应用于机械加工,自动化的汽车组装流水线用于汽车的组装,保质保量;在通信领域,各种智能手机系统都是基于ARM嵌入式系统研制而成,还有很多的终端等都是基于嵌入式系统而发明的,可以说嵌入式系统已经融入到了社会的各个方面。
3.2基于ARM的嵌入式系统应用领域上面综合介绍了ARM嵌入式系统的发展概状,其广泛的应用前景如图3所示。