Ubuntu Linux系统下嵌入式开发环境的搭建的详细步骤分享
用到的操作系统是Ubuntu 9.10,开发板是FL2440
环境:
minicom,交叉编译器,NFS,QT-Embedded
1.minicom
在终端里输入sudo apt-get install minicom,安装好minicom.
在终端里输入 sudo minicom -s进入minicom配置单,进入串口配置选项,修改串口设备为/dev/ttyUSB0(这个是数字0,我用到USB转串口线,所以是ttyUSB0)
硬件数据流控制改成否,不然无法向串口写入数据.
返回,选择保存设置为dlf,退出重启终端,接好线,给板子上电,就可以看到启动信息了。
2.交叉编译器
用到的工具包是cross-3.4.1.tar.bz2.
解压:tar jxvf cross-3.4.1.tar.bz2
然后移动arm到/usr/local接下来:mv usr/local/arm /usr/local
删除原来的空文件夹:rm -r usr
将编译器路径添加到path里面:
$ sudo su
# gedit /etc/bash.bashrc
在最后加上:
export PATH=$PATH:/usr/arm/3.4.1/bin
export PATH
保存好,然后输入命令
# source /root/.bashrc
重启下终端,输入arm-linux-gcc -v测试看是否安装成功。
显示的信息最后一行是gcc version 3.4.1表明安装成功了。
注意:这个编译器在编译内核和uboot的时候我出现过软件浮点问题,用4.3.2版的就没有问题,但是4.3.2编译过的应用程序在我的开发板上运行不了,不明白为什么。
3.NFS
安装:$ sudo apt-get install nfs-kernel-server
配置portmap:$ sudo dpkg-reconfigure portmap,选择否
配置hosts.deny:$ sudo gedit /etc/hosts.deny
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
配置hosts.allow:$ sudo gedit /etc/hosts.allow
portmap: 192.168.1.
lockd: 192.168.1.
rquotad: 192.168.1.
mountd: 192.168.1.
statd: 192.168.1.
这里意思是设置192.168.1网段的主机可以访问
注意:配置好hosts.deny和hosts.allow后,要重启portmap daemon服务:sudo service portmap restart
配置NFS挂载权限:sudo gedit /etc/exports
我设置成根目录共享:/ 192.168.1.*(rw,sync,no_root_squash)
然后重启NFS:sudo service nfs-kernel-server restart
这样,NFS就安装好了。
用网线将PC和开发板连接好,设置主机的IP:ifconfig eth0 192.168.1.26
设置开发板的IP(首先进入linux):ifconfig eth0 192.168.1.11
然后可以ping一下,看PC和开发板是否连通了。
没有问题的话,就可以mount了。
在开发板上:mount -o nolock 192.168.1.26:/ /mnt
这样,就把PC的根目录mount到开发板的/mnt目录下了。
4.QT-Embedded
参考网上的一个帖子,昨晚+今天上午终于弄好了,所幸没出问题。
安装好各种库:libx11-dev,libxtst-dev,libxext-dev,libxext6
进入root用户模式,这点很重要。
1.下载源代码包:
qt-x11-opensource-src-4.5.0.tar.bz2
qt-embedded-linux-opensource-src-4.5.0.tar.bz2
下载地址:ftp://ftp.qt.nokia.com/qt/source/(原作者给的不行了,找了半天)
2.编译及安装qt-x11-opensource-src-4.5.0
qt-x11版本可以产生Qt开发工具,如designer等等,最重要的是可以得到qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也 可以开发Qt应程序。qt-embedded版本就是专门用于嵌入式方面的版本。
tar xjvf qt-x11-opensource-src-4.5.0.tar.bz2
cd qt-x11-opensource-src-4.5.0
./configure
make
make install
历经漫长的编译过程,约一个半小时,默认安装在/usr/local/Trolltech/Qt-4.5.0下.编译完成后源程序不要删除,还有用。
3.编译及安装qt-embedded-linux-opensource-src-4.5.0
在用户目录下建立一个src目录,用于存放编译源文件qt-embedded-linux-opensource-src- 4.5.0.tar.bz2。将其解压得到qt-embedded-linux-opensource-src-4.5.0,重命名为qt-
mkdir ~/src
mv qt-embedded-linux-opensource-src-4.5.0.tar.bz2 ~/src
tar xjvf qt-embedded-linux-opensource-src-4.5.0.tar.bz2
mv qt-embedded-linux-opensource-src-4.5.0 qt-embedded-linux-opensource-src-4.5.0-x86
tar xjvf qt-embedded-linux-opensource-src-4.5.0.tar.bz2
mv qt-embedded-linux-opensource-src-4.5.0 qt-embedded-linux-opensource-src-4.5.0-arm
cd qt-embedded-linux-opensource-src-4.5.0-x86
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-x86 -embedded x86 -qvfb
make
make install
-------OK!qt-embedded-x86被安装在/usr/local/Trolltech/QtEmbedded-4.5.0-x86下.
cd qt-embedded-linux-opensource-src-4.5.0-arm
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm
make
make install
-------OK!qt-embedded-arm被安装在/usr/local/Trolltech/QtEmbedded-4.5.0-arm下.
(这两个编译我花了一上午,每个大概一个半小时左右)
4.至此大家已经安装好了qt-x11版,即在PC机上运行的QT,qt-embedded-x86版(x86体系的嵌入式板子上运行的QT)和qt- embedded-arm(arm板子上运行的QT).
下一步:设置环境变量
(1)qt-x11:
vi setenv.sh
添加如下内容:
PATH=/usr/local/Trolltech/Qt-4.5.0/bin:$PATH
LD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.5.0/lib:$LD_LIBRARY_PATH
保存退出.移到/usr/local/Trolltech/Qt-4.5.0中。
(2)qt-embedded-x86:
vi setenv.sh
添加如下内容:
QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-x86
PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin:$PATH
LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-x86/lib:$LD_LIBRARY_PATH
保存退出.移到/usr/local/Trolltech/QtEmbedded-4.5.0-x86中。
(3)qt-embedded-arm:
vi setenv.sh
添加如下内容:
QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-arm
PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-arm/bin:$PATH
LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-arm/lib:$LD_LIBRARY_PATH
保存退出.移到/usr/local/Trolltech/QtEmbedded-4.5.0-arm中。
大家在运行的时候分别运行对应的脚本即可,比如大家要用qt-x11:
cd /usr/local/Trolltech/Qt-4.5.0
source setenv.sh
然后就可以用qmake designer等工具了.
5.做到这一步还有qvfb没有编译,到qt-x11-opensource-src-4.5.0中重新编译qvfb即可
cd qt-x11-opensource-src-4.5.0
cd /tools/qvfb
make --会在qt-x11-opensource-src-4.5.0/bin下生成qvfb,大家将它copy至/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin下
cp ../..bin/qvfb /usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin
6.做一个测试
cd /usr/local/Trolltech/QtEmbedded-4.5.0-x86
source setenv.sh
cd /usr/local/Trolltech/QtEmbedded-4.5.0-x86/demos/books
qvfb -width 640 -height 480 &
./books -qws