基于S3C2440与Linux的ARM9嵌入式系统的构建

更新时间:2023-06-03 21:23:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于S3C2440与Linux的ARM9嵌入式系统的构建

基于!"#$%%&与’()*+的,-./嵌入式系统的构建

刘伟华,刘仁学

(北方工业大学机电工程学院,北京!""!##)

摘要:研究了$%&’中()*+##"与,-./0的嵌入式系统构建。开发嵌入式,-./0系统最方便的方法是构建一个标准的,-./0开发环境。开发环境建立包括在1*机上安装,-./0系统和交叉编译器,编译开发板的,-./0内核映像文件,制作根文件系统,加载引导程序。至此,就完成了一个$%&’嵌入式系统构建,可以开始进行,-./0嵌入式系统开发。

关键词:()*+##";开发环境;引导程序;内核和根文件系统

&0引言

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,在应用中能够适应对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了23!"个嵌入式微处理器。$%&)+位体系结构目前被公认为是业界领先的)+位嵌入它的特点是可移植性强,式%4(*微处理器结构,

可以在不同厂家相同内核的芯片中轻松切换、功耗特低、功能强大,低端可以作为高级单片机使用,高端功能接近于1*机。()*+##"处理器核为$%&’+"5,是三星公司$%&’系列中的主流产品。带操作系统的嵌入式开发软件上主要工作为:针对自己开发的嵌入式系统进行系统和应用支撑软件的移植;在嵌入式操作系统和应用软件上进行二次开发,形成自己的嵌入式系统。以下几点以,-./0为操作系统的嵌入式开发的特点:

(!),-./0及其相关的软件有广大的社区和广泛的使用人群;

(+)其源代码开放、功能强大、广泛的后续支持等优点是其他软件所不能比拟的;

())有全球最顶尖的程序员写出的操作系统以及各种应用的源程序,是借鉴和学习的最好的工具。广泛地用于仪器仪表、工业控制设备、电梯、程控交换机。

收稿日期:+""?K";K+=

10!"#$%%&特性介绍

()*+##"处理器工作频率为#""&67,适用于开发各种高端手持设备,小型终端,车载及网络运用产品。()*+##"芯片在$%&’+"5核的同时,增加了丰富的外围资源,主要包括:外部扩充存储器((%$&控制器和芯片选择逻辑);!个,*8控制器;#个通道的8&$;)个通道的9$%5;#个1:&功能的!;位定时<计数器和!个!;位内部定时!;位看门狗定时器;!!=位通用4<>口和+#器;

位外部中断源;?通道!"位$8*;触摸屏接口;44(总线接口;+个9(@主机接口,!个9(@设备接口;+个(14接口;电源管理。

$0’()*+开发环境的建立

(!)进行开发前,首先要做的是搭建一套基于,-./0操作系统的应用开发环境,一般由目标板和宿主机所构成。个人用,-./0开发嵌入式应用程序,可以在自己的1*上安装一套,-./0操作系统,建议采用%AB6CD’E"版本,而且是完全安装。

(+)交叉编译环境就是在一个平台上生成可以在另一个平台上执行的代码。采用交叉编译的主要原因在于,多数嵌入式目标机不能提供足够的资源供编译过程使用,只好将编译工作转移到宿主机中进行。交叉编译环境是一个由编译器、连接器和解释器组成的综合开发环境。交叉编译工具主要包括针对目标系统的编译器FGG、目标系统的二进制工具H-./D-IJ、目标系统的标准G库

作者简介:刘伟华(!’==K),女,湖南株州人,硕士研究生,研究方向为智能仪表。

基于S3C2440与Linux的ARM9嵌入式系统的构建

!"#$%和目标系统的&#’()内核头文件。

(*)安装编译器只需在+(,-+".%/"目录下建一个新目录,把编译工具安装在此目录下,之后编辑+01%+$/,2-0文件,最后增加路径,以后编译内核或其他应用程序均可用/-34"#’()4!%%来指定交叉编译器。

主机下载的文件通常首先被5..1&./60-保存到目标机的789中,然后再被5..1&./60-写到目标机的:&8;<类固态存储设备中。5..1&./60-的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用5..1&./60-的这种工作模式。工作于这种模式下的5..1&./60-通常都会向它的终端用户提供一个简单的命令行接口。

在5..1&./60-功能选择中选择=,选择>;5下载,如图=所示。下载&#’()内核,然后再被写到目标机的:&8;<类固态存储设备中,选择图=中的?,进行程序烧写,在接下来的分区选择中,选择图@所示中的=,烧写到A8AB:&8;<分区=中,下载成功后,用同样的步骤下载根文件系统,

将根

!"引导程序#$$%&$’()*

5..1&./60-是在操作系统内核或用户应用程序运行前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,为最终调用操作系统内核或用户应用程序准备好正确的环境。

5..1&./60-的作用是用来加载操作系统。从

图+"从主机下载文件保存到目标机的,-.

图/"从目标机,-.下载到0-012&-34

基于S3C2440与Linux的ARM9嵌入式系统的构建

文件系统烧写到!"!#$%"&’分区(中。

(G)将60CN目录下的内容压缩,产生60CNP136的包;

(Q)将包解压到1CO目录下,在1COL60CN下添加自己的驱动和应用程序;

(R)制作D63C:N根文件系统文件。输入命令C9D63C:N60CN(GGHID63C:N;

(S)根文件系统制作成功后就可以烧写到目标板中,然后烧写前面做好的内核映像J?C3E5。

!"编译#$%&’内核

与其他操作系统相比,%)*+,最大的特点:他是一款遵循-.%的操作系统,可以自由地使用、修改和扩展它。在交叉编译环境和/001203456建立后,接下来就可以用它来编译相关体系的内核了。

(7)解压内核包。将%)*+,源码包拷贝到某个目录下,解压。

(()编辑8395:)25。要编译特定体系的内核,需要编辑本代码的8395:)25,找到“;<=&&>;=8>.?%@A”这行,将它改为你的系统所安装的交叉编译工具所在的目录。

(B)接下来就与编译普通内核一样了,配置内核:输入命令:C395C5*+D0*:)E,进入配置栏的“%0343*"2156*315;0*:)E+631)0*$)25F,输入配置文件名956*52>(GGHID:E,退出并保存。

(G)编译内核。输入命令C395J?C3E5。编译结束后,可在36DKL36CLM001目录下得到%)*+,内核压缩映象J?C3E5。

/"结束语

至此,就完成整个嵌入式%)*+,系统的构建。应用程序的开发,用交叉编译器将编译好的可执行文件移至根目录,制成根文件,最终完成整个产品的开发。参考文献:

[7]于T明,范书瑞,曾祥烨P"<8U嵌入式系统设计与开

I北京:电子工业出版社,(HHRP发教程[8]

[(]田T泽P"<8U嵌入式%)*+,开发实验与实践[8]I北

京:北京航空航天大学出版社,(HHRP

[B]潘巨龙,黄T宁,姚伏天,等P"<8U嵌入式系统构建与

应用[8]I北京:北京航空航天大学出版社,(HHRP[G]徐英慧,马忠梅,王T磊,等P"<8U嵌入式系统设计V

基于&B;(G7H与%)*+,[8]I北京:北京航空航天大学出版社,(HHSP

[编辑:周希章]

(")*+,-.根文件系统制作

以已经完成的D63C:N根文件系统为例:(7)将D63C:N拷贝到任意目录下;(()在该目录下建两个目录60CN和1CO;(B)将D63C:N挂接到60CN目录下;

本文来源:https://www.bwwdw.com/article/wuk1.html

Top