当前位置:文档之家› ubuntu下linux 开发环境的搭建以及arm平台的移植

ubuntu下linux 开发环境的搭建以及arm平台的移植

Linux开发环境的搭建1.arm交叉编译链的安装2.NFS服务器的安装3.tftp服务器的安装4.触摸屏驱动库的安装编译5.编译安装qt-everywhere-opensource-src-4.8.1需要的文件及库:1.arm-2009q1-203-arm-none-linux-gnueabi2.fs.tar.gz3.tslib-1.44.qt-everywhere-opensource-src-4.8.11.arm交叉编译链的安装见附录6:arm-2009q1-203-arm-none-linux-gnueabi安装测试交叉编译器是否安装成功,执行如下命令:HOST $ arm-none-linux-gnueabi-gcc -v如果显示编译器的版本信息说明安装成功。

2.NFS服务器的安装见附录7:安装完成后,在/home/wws/目录下执行如下指令:sudo gedit nfs.shnfs.sh的内容如下:HOST $ sudo /etc/init.d/portmap restartHOST $ sudo /etc/init.d/nfs-kernel-server restart保存后执行source nfs.sh以后只要在主目录下执行上述source命令就可以重启nfs服务器测试 NFS 服务器是否安装成功,执行如下命令:HOST $ showmount -e若显示 /home/wws/wws_nfs*则说明安装成功。

3.tftp服务器的安装具体安装过程见附录8:安装完成后,执行:sudo gedit tftp.sh其内容如下:HOST $ sudo /etc/init.d/xinetd restartHOST $ sudo /etc/init.d/tftpd-hpa restart保存在主目录下,当开发板找不到链接,出现T T T T.......等时,无需重启系统,只需执行source tftp.sh重启tftp服务器即可,或者直接执行上述两条指令来重启服务器。

4.触摸屏驱动库的安装编译Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。

在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。

安装触摸屏驱动库tslib-1.4新建文件夹my_qt,在该文件夹下进行解压解压wws@ubuntu:~/my_qt/tslib1.4$ tar -zxvf tslib-1.4.tar.gz进入目录wws@ubuntu:~/my_qt$ cd tslib-1.4wws@ubuntu:~/my_qt/tslib1.4$配置wws@ubuntu:~/my_qt/tslib1.4$ ./autogen.sh若出现如下错误./autogen.sh: line 4: autoreconf: command not found解决办法:sudo apt-get install autoconf automake libtool指定安装目录wws@ubuntu:~/my_qt/tslib1.4$./configure --prefix=/usr/local/Trolltech/tslib-1.4 --host=arm-none-linux-gnueabi ac_cv_func_malloc_0_nonnull=yes(提示:在这个配置中/usr/local/ Trolltech/tslib-1.4就是我们指定的安装路径,也就是执行make install后,tslib就被安装到这个目录了)编译安装wws@ubuntu:~/my_qt/tslib1.4$ make20120726 Q:若报错提示/usr/include/bits/fcntl2.h:51: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments In function ‘open’,A:因为gcc-4.3.3对语法检查严格的结果,需要添加一个参数,即在tslib1.4/tests/ts_calibrate.c 中227行与229行,open函数中添加第三个参数0777,如下图wws@ubuntu:~/my_qt/tslib1.4$ sudo make install进过上述操作,就可以在/usr/local/qte-arm/tslib-1.4目录下看到相关的应用程序、共享库、配置文件等,这些库和配置文件都是要拷到文件系统的usr/lib 里面的。

编译成功后在目标位置产生/bin、/etc、/include、/lib 4个文件夹至此在PC机上的tslib环境已经安装完成。

5.编译安装qt-everywhere-opensource-src-4.8.1在文件夹my_qt 下解压文件wws@ubuntu:~/my_qt$ tar -zxvf qt-everywhere-opensource-src-4.8.1.tar.gz进入目录wws@ubuntu:~/my_qt$ cd qt-everywhere-opensource-src-4.8.1配置-prefix:预设安装目录动态库:./configure -prefix /usr/local/Trolltech/QtEmbedded-4.8.1-arm-nostatic -opensource -no-qt3support -no-xmlpatterns -no-multimedia -no-phonon -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-scripttools -declarative -declarative-debug -qt-mouse-tslib -DQT_QWS_CLIENTBLIT -xplatform qws/linux-arm-g++ -embedded arm -confirm-license静态:(目前用静态库)./configure -prefix /usr/local/Trolltech/QtEmbedded-4.8.1-arm-static -opensource -no-qt3support -no-xmlpatterns -no-multimedia -no-phonon -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-scripttools -declarative -declarative-debug -qt-mouse-tslib -static -DQT_QWS_CLIENTBLIT -xplatform qws/linux-arm-g++ -embedded arm -confirm-license静态(arm-none-linux-gnueabi-gcc编译链)./configure -prefix /usr/local/Trolltech/QtEmbedded-4.8.1-arm-gnueabi-static -opensource -no-qt3support -no-xmlpatterns -no-multimedia -no-phonon -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-scripttools -declarative -declarative-debug -qt-mouse-tslib -static -DQT_QWS_CLIENTBLIT -xplatformqws/linux-arm-g++ -embedded arm -confirm-license静态:(目前用arm-arago-linux-gnueabi编译链)./configure -prefix /usr/local/Trolltech/QtEmbedded-4.8.1-arm-static -opensource -no-qt3support -no-xmlpatterns -no-multimedia -no-phonon -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-scripttools -declarative -declarative-debug -qt-mouse-tslib -static -DQT_QWS_CLIENTBLIT -xplatform qws/linux-arm-g++ -embedded arm -confirm-license20120726 Q:若出现报错如下修改qt-everywhere-opensource-src-4.8.1/mkspecs/qws/linux-arm-g++/qmake.conf如下20120727 Q:若提示如下/home/wws/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld:warning:libts-0.0.so.0,neededby /home/giant/my_qt/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so, not found (try using -rpath or -rpath-link)/home/wws/my_qt/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to `ts_read_raw'/home/wws/my_qt/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to `ts_open'/home/wws/my_qt/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to `ts_fd'/home/wws/my_qt/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to `ts_config'/home/wws/my_qt/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to `ts_close'/home/wws/my_qt/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to `ts_read'A:修改qt-everywhere-opensource-src-4.8.1/mkspecs/qws/linux-arm-g++/qmake.conf/usr/local/Trolltech/tslib-1.4/include/usr/local/Trolltech/tslib-1.4/lib最后两句是tslib的安装路径,如果设置不对则生成的库文件没办法支持触摸屏然后执行 make再执行 sudo make install编译成功之后,配置环境变量为了方便以后的开发,因此编写一个导入环境变量的脚本。

相关主题