嵌入式系统软件移植浅析论文_冀慧君 王建国 李林 张鹏飞 梁海峰

嵌入式系统软件移植浅析论文_冀慧君 王建国 李林 张鹏飞 梁海峰

摘要:嵌入式系统软件移植本质上就是将代码移植到要移植的处理器中,经过开发环境的建立、系统嵌入、系统引导准备、编译、内核试运行等过程,使编码能够在新的移植环境中跑起来,流程的运行下去。本文就针对嵌入式系统软件移植进行简单的分析。

关键词:嵌入式系统;软件移植;分析;

随着计算机的发展,人们对计算机的认识和理解也越来越深刻,并根据计算机的应用领域,将计算机系统划分为通用型和嵌入型两种,嵌入型系统随着不断的研发,应用领域越来越宽广。

一、嵌入式系统简述

嵌入式系统是计算机中的一种集控制、辅助、监视为一身的装置。嵌入式系统和其他系统最大的不同的就是嵌入式系统是在ROM中运行的,因此,我国对嵌入式系统的定义就是软件和硬件的有机结合,在应用系统中各方面的应用都有着严格的规定,包括系统的功能和体积、可靠性和损耗以及体积等。Linux是现在主流的嵌入式开发系统,由uClinux和openWRT两部分组成。uCLinux可以说是微控制领域的Linux,是开源代码中,非常典型的一个设计,主要是应用在没有存储功能处理器的嵌入式系统里,并且还被移植在多个平台,多个应用中,在机顶盒和路由器和PDA领域应用的非常广泛。uCLinux是非常优秀的嵌入式系统,高度优化是它的特点,代码紧凑是它的风格,因此uCLinux有着相当的稳定性,也有着很强的移植性。openWRT的作用更多的是提供一个应用程序的框架,也能够提供可写的文件系统,因此

译后目标文件可控制在几百KB数量级,并已经被功地移植到很多平台上。openWRT的优点在于不需要使用固件的支持,也不需要复杂的使用程序。

二、嵌入式系统软件移植的内涵

就是让一个空白的arm处理器跑Linux系统最快的方式就是将现有的正常的嵌入式Linux系统的源码在当前要移植的处理器上能跑起来,工作内容主要是uboot的修改,内核裁剪,驱动的修改,应用软件的重新编译。这就是所谓的移植。

三、嵌入式系统软件移植的步骤

(1)开发环境的建立

嵌入式系统的开发和应用一般都是在宿主机和目标机中进行的,通过在主机上直接完成代码的调试,然后再进行仿真系统模拟,确认完全无误后,在通过传输端口向目标机上传输,然后再进行验证,在没有出现问题的情况下,将地址和代码以及附件等在目标机上进行整合。由于我们选用的是Linux的系统,所以属猪的开发环境也应当是按照Linux的开发环境进行调适的,在现阶段,系统运行的比较稳定的是2.4x版本,一般大部分使用的也是此版本。

(2)系统嵌入

由于Limux系统,必须要经过裁剪,才能够更好的适应嵌入式系统,同时,为了刚好的适应CPU和系统的硬件,Limux需要设定独特的硬件结构代码,并在选定CPU之后删除其他无关的代码,然后再对模块进行裁剪。

期刊文章分类查询,尽在期刊图书馆以Limux为核心的系统,是由文件管理和进程调度、进程通讯和内部管理以及网络管理等五个模块组成,需要根据实际的情况进行相应的模块裁剪。需要注意的是,在模块裁剪的过程中,需要对范围内的matine进行详细的排查和分析,判定是否需要删除。事实上,routine的启动,必然会造成大量无用的代码段,因此需要进行裁剪,以保证程序简化清晰,然后在这个基础之上,再进行细致化的修改,包括outine和notine都需要进行一定的修改工作。

(3)系统引导准备

系统引导准备并不复杂,但是由于在Limux的系统中,需要启动的程序和文件较多,所以除了正常启动所需要的lilo和head.s以及maine外,还有setup.s, 除此之外,一些例程协助的程序和软件,也许要进行调用。在这个过程中,CPU的启动和系统的并不一样,因此需要额外的重视,比如说CPU是系统中最重要的一个参数,是加电启动的的重要例外,CPU在启动后,会直接指向内存中的例外能量,比如说bis或者是非映射区类似的向量。这一段段的向量和实际的产品有这紧密的联系,所以在进行系统引导之前,如果没有合适的载入程序,在这种情况下,可以考虑进行boobander这样的结构体系进行编写。

(4)编译

编译是第四步,主要是对上述已经裁剪过的代码或者是程序进行试编译,即裁剪过的kermel进行试编译。CPU作为系统控制和计算的核心,在目前为止还没有统一的、合适的、适用于所有型号的编译器,在这方面可以通过两个途径来进行改良,比如说可以提升编译器的性能,也可以制作定制专一的编译器,这些虽然都是发展的方向,但不可否认的是,编译这一个步骤是一个重要切不可缺少的环节,不管是对程序的运行还是对软件的植入都有着非常重要的作用。因此在现阶段进行进行MIS软件开发时,如果是在Limux的环境下,可以通过优化代码的方式对编译器CCC进行处理,然后在编译的时候,修改icnfig的文件即可。在文件的修改中,一般是通过以下方面进行修改的:一是在特定的系统环境选项中,通过选项回答ye或者是mo这样的方式在文件处理中进行代码的修改,在这个过程中,如果出现新的文件,可以直接在iconfig中进行修改。

(5)内核试运行

对不同的硬件系统,编译后会生成不同类型的内核映像文件,如对X86系列内核映像文件名为imgp,对MIPS系列则为vmlimux等等。编译生成的内核通常在/arch/obot(xx为处理器类型)目录下。在Linux启动过程中由boolede将内核映像文件引人内存并将控制权交给它, rimugr自解压后生成运行内核映像文件及全系统。这个过程比较复杂,因此可以通过仿真模拟进行检验。

结束语:微型机之后,嵌入式系统引发的又一次计算机浪潮汹涌澎海的把我们卷入到一个更加广阔的计算机开发与应用领域,它不仅在计算机应用的各个层面带来全新的技术革命,还将在计算机素统本身的科学研究领域中起到空前重要的推动作用。

参考文献:

[1]王学龙,嵌人式Limux系统设计与应用[M].北京:消华大学出版社,2002

[2]陈莉君. Limu操作系统内核分析[M].北京:人民郎电出版社,20002.

论文作者:冀慧君 王建国 李林 张鹏飞 梁海峰

论文发表刊物:《科学与技术》2019年第12期

论文发表时间:2019/11/15

标签:;  ;  ;  ;  ;  ;  ;  ;  

嵌入式系统软件移植浅析论文_冀慧君 王建国 李林 张鹏飞 梁海峰
下载Doc文档

猜你喜欢