ARM嵌入式Linux系统的实现

2018-01-28 11:02王暾
电子技术与软件工程 2017年18期
关键词:实现研究

王暾

摘要

在网络化技术、智能化技术及信息化技术进步过程中,极大的发展了嵌入式技术,并于各个领域中广泛的应用。Linux系统具有良好的稳定性、较高的可靠性等优点,属于嵌入式领域中的新兴力量,市场潜力与商业价值均非常巨大。现阶段,嵌入式处理器中应用最广泛的为ARM,32位,性能高、功耗低,已成为Linux嵌入系统移植的重点之一。因此,本文探讨了ARM嵌入式Linux系统的研究与实现。

【关键词】ARM Linux系统 研究 实现

随着嵌入式操作系统的使用,极大的提高了其可靠性及稳定性,也明显的增强了系统多任务处理能力。现阶段,具有多种多样的嵌入式操作系统类型,其中,开发首选为Linux系统,具有源码开放、软件资源丰富、内核功能强大、多任务处理、支持多种体系结构等优点,而当Linux系统应用于复杂系统中时,有必要研究出特定的硬件平台与实际应用移植操作系统,以使其功能良好的实现。

1硬件平台

本文在进行系统硬件单元开发时,以三星ARM920T处理器S3C2410X为平台。S3C2410X微控制器中,内核为ARM920T,16/32bits,单独16K指令及数据cache内置其中,支持多种操作系统,如Linux、Wince,利用AMBA作为总线结构,运行时,频率能够达到230MHz,性能良好,功耗低,在中高档手持终端应用开发中较为适合。

2ARM嵌入式Linux系统的研究与实现

2.1建立交叉编译环境

开发嵌入式系统时,与之配套的开发环境是必须要建立的,通常,编译环境、调试环境、操作系统配置工具、下载工具均包含在开发环境中。最初开发嵌入式系统过程中,尚未建立目标系统平台,因而交叉编译在主机上进行,将需求的启动引导代码、操作系统核心生成;随后,经串口或网络,主机系统与目标系统间的通信连接有效建立,相互协作下,开发嵌入式系统的工作共同完成。因此,对于嵌入式系统开发来说,组成有两部分,一部分为主机系统,一部分为目标系统。一般,嵌入式系统不存在软件开发环境,需运行软件的开发工作在主机上进行,但开发主机并不兼容目标系统的二进制执行级别,此时,交叉编译工具即需要使用。开发ARM嵌入式Linux系统过程中,以arm-linux交叉工具链作为交叉工具。

2.2Bootloader的研究与移植

PC体系结构中,系统的引导加载程序包含两部分,一部分为BIOS,另一部分为系统引导程序(位于硬盘MBR中)。但对于嵌入式系统,BIOS固件程序并不存在,较少应用硬盘作为存储介质,系统存储时,主要以Flash作为媒质,此种结构下,通过引导程序Bootloader来完成系统的启动加载。实现Bootloader时,对硬件严重依赖,在嵌入式系统中,通过Bootloader的建立基本无法实现,通常,以特定体系结构CPU为依据,实现Bootloader。另外,Bootloader还会对嵌入式板级设备配置形成依赖,即尽管电路板设计时按照统一处理器进行,但Bootloader若想同时运行在两块板子上,源程序也要做出适当修改,之后再移植。基于此,嵌入式Linux系统开发时,前提工作之一即为特定Bootloader的移植或开发。VIVI是一种Bootloader,具有强大的功能,支持的微处理器包含SA-1110、S3C2410两种。本文在移植Bootloader时,以smdk2410为基础,经修改后实现,修改过程中,硬件常数、Flash分区信息等均是需修改的参数。

2.3ARM Linux内核的移植

Linux包含稳定版与开发板两种内核,稳定版内核強度为工业级,应用与部署可广泛开展,对于新发布的,通常只对Bug做出修正,或将新设备驱动程序加入其中;而开发版内核中,多数东西都会较快的变化,加入的新特性所处的阶通常为测试、试验,稳定性较差,应用级操作系统并不适合采用。Linux内核移植时,稳定版内核优先选择,本文使用2.4.18。移植ARM Linux内核时,应首先启动内核,启动过程中,引导任务由引导程序完成后,CPU控制权被Linux接管,之后Linux核心映像代码由CPU执行,Linux启动过程开始,运行init后,终端建立;随后修改移植时需求的代码,makefile文件的修改为内核启动部分主要修改的内容,同时,还需要将NAND Flash支持加上,并填写mtd分区表;接着进行内核配置,Linux内核对模块化良好的支持,配置Linux内核时,make config、make oldconfig、made menuconfig、make xconfig为常用的方法;最后,实施内核编译,内核依赖关系建立后,将内核映像、内核组建创建出来,完成编译。

2.4系统烧写

VIVI烧写时,利用JTAG,JTAG线的一端连接计算机并口,另一端连接核心板右下角引出针,连接过程中,要对方向格外注意,保证其白色标记上下对应核心板插针上的白色标记。VIVI烧写之后,启动引导可正常进行,但系统此时并非真正可用,内核及根文件系统烧写工作完成之后才能真正的使用。内核与根文件系统烧写时,采用Xmodem协议,经串口进行,通过串口,连接主机与目标板,minicom-s输入Linux终端中,设置minicon。串口配置时采用Serial port setup,奇偶校验位、流量控制均不需要,默认值状态保存设置。另外,VIVI启动后,重新划分NAND Flash区域,接着即可进行引导程序、内核、根文件系统的烧写。完成所有烧写工作后,板子重启,稍等等信息出现后,表明系统己经正常进入,成功的完成移植。

3结论

本文以ARM处理器为基础,成功的进行了Linux系统的构建,实现了嵌入式系统开发中有效移植引导程序的目的,具有较高的实用价值,但由于本文研究能力有限,还需要进行更为深入的研究,促进Linux系统的良好发展。

参考文献

[1]张成法,李楠.基于ARM9的嵌入式Linux系统的设计与实现[J].商,2016(10):220.

[2]谢辉.嵌入式Linux系统在ARM处理器中关键技术分析[J].电大理工,2015(01):endprint

猜你喜欢
实现研究
FMS与YBT相关性的实证研究
辽代千人邑研究述论
视错觉在平面设计中的应用与研究
EMA伺服控制系统研究
办公室人员尚需制定个人发展规划
浅析铁路通信传输的构成及实现方法