BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #1889同步于 2008/10/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

[原创]嵌入式linux开发环境该如何搭建

Lumpy
2008/10/27镜像同步5 回复
开发环境这个不太好说,反正就是一个基本的linux系统加上你开发需要的软件,比如你要开发qt,就需要交叉编译器,tmake,libstdc++等等,开发不同的东西需要的环境也是不一样的 但是,对于入门的人来说,最基本的开发环境就是交叉编译环境,也就是linux系统+交叉编译器,这是最基本的. linux系统一般用于开发的是fedora的比较多,原来redhat是最流行的,但是redhat早就停止更新版本,所以fedora以其继承人的身份,变成最流行的了,如果是开发qt的话suse也不错,因为trolltech公司用的环境就是suse.ubuntu现在比较流行,但是用于开发并不是很好,我尝试用过,遇到很多麻烦,虽然最后都能解决,但是对于新人来讲可能解决起来会更加麻烦.其他的linux系统了解就不是很多了. 当然,linux环境不仅仅只是安装的最基本的linux系统,还应该包括一系列的软件,比如常用的命令,make,sed.....常用的软件tftp,nfs.....常用的库libc libstdc++....一般发行版的linux都带有常用命令和库,但是常用软件,比如嵌入式开发中很常用的tftp server nfs 以及少部分的库就不一定有了,怎么办呢?方法非常简单,比如你想安装tftp server或者编译过程中提示你没有x86的libstdc++某个版本的库,你就到www.rpmfind.net或者是http://rpm.pbone.net/上面搜"tftp-server""libstdc++"就会搜到针对不同linux系统的rpm包,比如你用的是fedora8系统,就找到对应的rpm包,下载,再安装--rpm -ivh xxxx.rpm 就可以了 另外一个就是交叉编译器了,一般用的都是cross-tool或者eldk,他们都包含交叉编译的可执行文件,以及可能用到的一些头文件和交叉编译的库(同样是libstdc++,这里是arm指令的)cross-tool一般有各种版本,2.95.3;3.3;3.3.2;3.4.1;4.1等等,不同版本是有差别的,并不一定能兼容,同一个程序,用3.3的能编译通过,用3.4.1的就不一定能通过.一般来将我用3.3和3.3.2编译很少出现问题,但是对于比较新的内核,比如2.6.24,它们就显得比较老,编译就通过不了,这种情况下我用的是eldk cross-tool和eldk都可以在网上免费下载到,cross-tool不需要制作,解压缩就可以了,eldk需要安装一下,安装过程也很简单,看看readme就可以了.安装完成之后,只有把交叉编译器可执行文件的路径放到PATH变量里就可以了,以后调用交叉编译器的时候,系统就能自动找到它们,比如 cross-tool:export PATH=$PATH:/usr/local/arm/3.3.2/bin eldk: export PATH=$PATH:/usr/local/arm/eldk/usr/bin 至此,一个交叉编译环境就完成了 下面去编译一个内核为例 cd xxxxxx/linux-2.4.21 make menuconfig make arch=arm CROSS_COMPILE=/usr/local/arm/3.3.2/bin/arm-linux-
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
sweetfly机器人#1 · 2008/10/27
赞原创,这个对初学者很有帮忙。
sweetfly机器人#2 · 2008/10/27
原来是版主达人,大家顶啊,第二个十大,期待中。
Lumpy机器人#3 · 2008/10/27
呵呵,一般初学者看到交叉编译环境都觉得比较什么,岂不知是非常简单的,稍微配置一下就行了
Wyatt机器人#4 · 2008/10/27
hobby机器人#5 · 2008/10/27
嗯 不错 看着的确比较简单,更关键的是,好像说的很在理啊 再赞!!