欢迎来到天天文库
浏览记录
ID:31359121
大小:109.00 KB
页数:6页
时间:2019-01-09
《基于arm的嵌入式linux软件开发平台的搭建》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
基于ARM的嵌入式Linux软件开发平台的搭建 摘要:嵌入式软件开发是当前热门技术,而构建嵌入式软件开发环境是进行嵌入式软件开发的基础。该文对如何搭建基于ARM的嵌入式Linux软件开发平台进行了探究。根据软件开发的一般流程,从交叉编译环境的建立,到TFTP和NFS的配置,都进行了详细的论述,并通过实验证明了平台的可用性。 关键词:嵌入式系统;ARM;Linux;交叉编译 中图分类号:TP311文献标识码:A文章编号:1009-3044(2016)22-0227-02 Abstract:Embeddedsoftwaredevelopmentisthefocusofcurrentresearch,constructionoftheembeddedsoftwaredevelopmentenvironmentisthebasisofembeddedsoftwaredevelopment.ThispaperresearchonhowtobuildembeddedLinuxsoftwaredevelopmentplatformbasedonARM.Accordingtothemainlineofsoftwaredevelopmentprocess,fromtheestablishmentofcross-compilationenvironment,toTFTPandNFSdevelopmentenvironment,allarediscussedindetail,andtheavailabilityoftheplatformwasdemonstratedbytheexperimentalresults. Keywords:embeddedsystem;ARM;Linux;cross-compilation6 嵌入式设备的使用日益广泛,其中操作系统的选用成为关注的焦点。嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。目前主流的嵌入式操作系统有WindowsCE、VxWorks、嵌入式Linux等。其中,Linux成为极有吸引力的一种选择,它是个和Unix相似、以核心为基础的、完全内存保护、多任务多进程的操作系统。支持广泛的计算机硬件,程式源码全部公开,任何人可以修改并在GNU通用公共许可证(GNUGeneralPublicLicense)下发行。由于Linux桌面系统在实际使用中熟悉的人较少,开发者在进行嵌入式Linux软件开发和研究的过程中,往往面临搭建开发平台的困难[1]。本文对基于ARM的嵌入式Linux开发平台的搭建进行了研究,提供了一种可靠性较高的方法。 1嵌入式开发软件平台搭建 嵌入式软件开发一般遵循“宿主机一目标板”的开发模式。其中核心内容主要是宿主机交叉编译环境[2]以及TFTP和NFS环境的搭建。在本文给出的实验示例中,宿主机上安装的是目前比较流行的RHEL6版本。 1.1宿主机交叉编译环境的搭建6 因为成本原因,嵌入式系统的资源往往是有限的,因此直接在嵌入式系统的硬件平台上编写软件比较困难。这时候就需要交叉编译。所谓交叉编译就是在某个主机平台上(比如PC上)用交叉编译器编译出可在其他平台上(比如ARM上)运行的代码的过程。嵌入式系统交叉编译环境如图1所示。 下面就介绍如何搭建宿主机交叉编译环境。本文在测试时使用的交叉编译器版本为arm-linux-gcc-3.4.1.tgz,硬件方面使用的是上海双实科技提供的基于S3C2440的开发板。 安装交叉编译器arm-linux-gcc-3.4.1.tgz步骤如下:(通过U盘拷贝到系统中,并放置根目录下) cd/ tarzxvfarm-linux-gcc-3.4.1.tgz vi/root/.bashrc 添加下面一句 PATH=$PATH:/usr/local/arm/3.4.1/bin source/root/.bashrc//使文件生效 arm-linux-gcc?Cv//查看交叉编译器版本号,应该显示为3.4.1 1.2TFTP的搭建 TFTP是一种传输文件的简单协议,它没有FTP协议那么多特征,不支持目录列表及用户认证[3],但是实现快捷,被广泛应用于嵌入式开发领域。TFTP也是基于传统的C/S模式进行工作,TFTP开发环境的构建分为宿主机端的tftp-server支持以及目标板的tftp-client支持。 1.2.1构建宿主机tftp开发环境 1)首先利用配置好的本地yum源安装tftp服务软件包 mount/dev/cdrom/media yuminstalltftp*6 2)修改配置文件 在RHEL6系统中TFTP服务默认情况下是禁用的,所以要修改/etc/xinetd.d/tftp文件来开启服务。操作如下: vi/etc/xinetd.d/tftp 将配置选项disable=yes改为disable=no,保存退出 3)重新启动tftp-server servicexinetdrestart 1.2.2构建目标板tftp开发环境 一般来说,目标板都能够支持tftp-client,所以嵌入式目标板tftp环境一般就不需要再配置了。在目标板可以通过类似命令tftp?Cra.c?Cg211.65.180.1下载文件。 1.3NFS开发环境的搭建 tftp服务只在需要下载或传输文件至开发板时使用。在应用程序开发环节,通常都要 搭建好NFS环境[4]。NFS是系统间进行文件共享的一种网络协议,在NFS的应用结构中有服务器和客户机两种角色,NFS客户端通过挂载NFS文件系统的方式访问NFS服务器中输出的共享目录。因此,NFS方式比ftp方式有着更高的执行效率。 1.3.1宿主机NFS开发环境的建立 1)安装NFS服务器 mount/dev/cdrom/media yuminstallnfs-utils 2)关闭服务器端防火墙6 serviceiptablesstop 3)配置NFS服务器 在宿主机端以root的身份登录。使用vi编辑器编辑/etc/exports文件,该文件中默认内容为空,可以添加如下内容: /home/share211.65.180.1(rw,sync,no_root_squash) 添加的内容表示允许IP为211.65.180.1的计算机以读写的权限来访问共享目录/home/share。 4)启动RPC服务(在RHEL6中用rpcbind服务代替之前的portmap服务) servicerpcbindstart 5)启动NFS服务器 servicenfsstart 1.3.2目标机NFS开发环境的建立 目标板如果不支持NFS,则需要重新编译内核,添加相应的选项。 1)配置内核支持NFS客户端 将内核源代码拷贝到相关目录下,然后输入命令makemenuconfig,在出现的图形界面中选择LoadanAlternateConfigurationFile菜单载入配置文件,添加内核对NFS的支持,然后保存退出,用命令makeuImage编译内核,将生成的uImage重新下载到目标板启动即可。 2)目标板对NFS共享目录的挂栽 mount-tnfs?Conolock192.168.0.10:/tftpboot/tmp 2结束语6 本文对构建基于ARM的嵌入式Linux软件开发环境进行了探究。作者在宿主机上安装了内核较新的Linux企业版本RHEL6,着重研究了交叉编译环境的建立,TFTP和NFS的配置,从实验结果来看,提供了一种可靠性较高的方法。 参考文献: [1]苟军年.ARM-Linux嵌入式软件开发平台的搭建.计算机时代[J].2010(11):53-55. [2]张欢庆,高丽,宋承祥.基于ARM的嵌入式Linux交叉编译环境的研究与实现[J].计算机与数字工程,2012,40(2):151-153. [3]李怀刚,邱建新.网络安装Linux的技术原理分析及实现[J].计算机应用与软件,2006,23(9):110-112. [4]叶军,朱华生.嵌入式LinuxNFS方式下应用程序的实现[J].微计算机信息,2007,23(8).6
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处