欢迎来到天天文库
浏览记录
ID:27524858
大小:149.50 KB
页数:5页
时间:2018-12-04
《armlinux嵌入式软件开发平台的搭建》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机时代2010年第11期·53·ARMLinux嵌入式软件开发平台的搭建苟军年(兰州交通大学自动化与电气工程学院,甘肃兰州730070)摘要:ARMLinux嵌入式系统开发是目前嵌入式开发的主流方向,文章详细介绍了嵌入式软件开发平台的搭建过程。以软件开发流程为主线,从交叉编译环境的建立,到能够简化软件开发过程的TFTP和NFS开发环境,再到应用程序的调试环境GDB的建立过程,都进行了详细的论述。关键词:嵌入式系统;Linux;ARM;平台搭建BuildingofPlatformforEmbeddedS
2、oftwareDevelopmentBasedonARMLinuxGOUJun-nian(SchoolofAutomationandElectricalEngineering,LanzhouJiaotongUniversity,Lanzhou,Gansu730070,China)Abstract:TheembeddedsystemdevelopmentbasedonARMLinuxisamainstreamdirectionofembeddeddevelopmentatpresent.Theprocess
3、ofbuildingembeddedsoftwaredevelopmentplatformisintroducedindetail.Accordingtothemainlineofsoftwaredevelopmentprocess,fromtheestablishmentofcross-compilationenvironment,toTFTPandNFSdevelopmentenvironmentwhichareabletosimplifythesoftwaredevelopmentprocess,t
4、hentothebuildingprocessofthedebuggingenvironmentGDBforapplicationprogram,allarediscussedindetail.Keywords:embeddedsystem;Linux;ARM;platformbuilding0引言工具,编辑、编译目标板(Target)的操作系统引导程序、内核和文件系统,然后下载到目标板上运行。通常这种在宿主机环境 当前,嵌入式操作系统的种类比较多,其中Linux操作系统下开发,在目标机上运行的开发模式叫
5、作交叉开发。由于其开源特性和良好的稳定性赢得了斐然的成绩。由于1.1.2宿主机交叉编译环境的建立Linux桌面系统在实际使用中熟悉的人较少,开发者在进行嵌安装好宿主机Linux操作系统之后,宿主机交叉编译环境 入式Linux开发和研究的过程中,往往面临搭建开发平台的困的搭建是整个开发过程的第一步,因为无论是后面的目标机 难。本文作者根据在ARMLinux开发方面的工作,对ARMBootloader的编译、嵌入式操作系统内核编译,还是文件系统的 Linux开发平台的搭建作了较详细的论述。1嵌入式开发软件平台
6、搭建编译都离不开宿主机交叉编译环境。对于ARMLinux嵌入式开发,宿主机当然是Linux操作系无论个人设计还是“团队”开发,ARMLinux开发的硬件模统(可用的Linux操作系统有很多,如Redhat9.0、Fedora8.0、式都是“宿主机-目标板”开发模式。本文仅就嵌入式系统开发 Ubuntu8.x等)。作者选择的是Fedora8.0来搭建宿主机开发环过程中所需要的软件环境进行详细说明,主要包括宿主机交叉 境。总体来讲,宿主机交叉编译工具链建立步骤[1]如下:编译环境、内核、文件下装环境以及调试环
7、境。⑴选择软件版本,选择宿主机和目标板的软件组合,一1.1宿主机交叉编译环境的搭建般,应该选择公认比较成熟和稳定的版本,这样可以少走弯路;1.1.1交叉编译的概念⑵建立工作目录和环境变量;通常的软件开发,开发与运行环境采用相同的硬件架 ⑶配置内核文件,在这个过程中,变量ARCH和构。例如,在X86平台下开发的C语言程序,经过汇编、编译、 CROSS_COMPILE的值与目标板的架构类型有关,例如,如果链接等环节后产生的.exe文件仍然运行在X86硬件架构下,即 使用ARM目标板,则ARCH=armCROS
8、S_COMPILE=开发机就是运行机模式。与此不同,嵌入式开发的目标板 arm-linux-;(Target机)本身由于体积、运行速度、内存等方面的限制,它自 ⑷binutils(二进制工具程序)的设置;身不可能完成开发。因此需要借助PC机(Host机)来完成硬件 ⑸初始编译器的建立;结构的定义、编译、链接等工作,然后通过一定的连接方式,把 ⑹建立C库(glibc);目标机所需要的已经编译好的引导程序(Bootloader)、
此文档下载收益归作者所有