ubuntu上建立mini2440 qt编译环境

  参考mini2440手册,从5.3章开始建立交叉编译环境。跟着流程走,在设置环境变量的时候,发现ubuntu的root文件夹不可进入,修改权限进入修改.bashrc文件发现重启后不起作用。为了不每次开终端都来下环境变量的设置,可以再/etc/environment下加入环境 /opt/FriendlyARM/toolschain/4.4.3/bin。对了请不要直接从windows复制粘贴文件到虚拟机中会出现文件格式破坏的情况,所以还是老老实实的用ftp吧。

  跟着手册的步骤走,接下来先进行内核的编译。在执行make menuconfig的过程中出现缺少ncurese的错误。解决方法就是为ubuntu安装ncurese。执行命令sudo apt-get install libncurses5-dev。使用友善配置好的.config文件。

  接着进行logo的设计,使用友善提供的logomaker,解压后在/usr/sbin目录下有可以执行文件logomaker。执行sudo ./logomaker,提示错误./logomaker: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory 找不到libjpeg的动态链接文件。解决方法:sudo apt-get install libjpeg62-dev。再次执行sudo ./logomaker。就能使用logo制作工具了,使用方法见手册。不过在ubuntu下使用会出现生成的图片为0字节,为了解决这个方法先sudo apt-get install netpbm 安装netpbm。再次使用logomaker还是出现0字节的现象,放弃使用logomaker,直接使用netpbm的命令行工具。

  pngtopnm open_show.png > temp.ppm

  ppmquant 224 temp.ppm >temp2.ppm

  pnmnoraw temp2.ppm > logo_linux_clut224.ppm

  制作完logo,先试着编译下内核,make zImage提示找不到交叉编译arm-linux-gcc。之所以出现这个问题还是用户权限在作怪,为了后面能正常运行,直接在当前终端切换到root用户,sudo -s,交叉编译的环境变量要重新配置下 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin。接着make zImage。

  完成了内核的编译,然后在ubuntu上建立QT编译环境。使用qte4.6.3。源码直接使用友善光盘里的arm-qte-4.6.3-20100802.tar.gz。解压后执行./build-all。经过1个半小时左右的时间完成qte4.6.3的安装。接着在ubuntu上安装qt开发环境。安装方法可以参考之前的文章<<树莓派上安装qt>>,注意在设置toolchain中不要选择GCC,而应选择GCCE。否则在编译arm版的QT时会报错。可以试着写个程序。通过ftp把编译出的可执行程序传到开发板中。通过putty进入开发版DOS环境,账号密码都为plg。记得要先修改程序的权限。当执行程序的时候你会发现程序可以运行,但是无法点击,过一会儿就死掉。由于是用qt4开发的程序,所以要在qte4中打开。查看板中/bin/qt4

#!/bin/sh

export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export LD_LIBRARY_PATH=/usr/local/lib
export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/bin

export QWS_DISPLAY=:1

TS_INFO_FILE=/sys/devices/virtual/input/input0/uevent
if [ -e $TS_INFO_FILE -a "/bin/grep -q TouchScreen < $TS_INFO_FILE" ]; then
        export QWS_MOUSE_PROTO="Tslib:/dev/input/event0 MouseMan:/dev/input/mice"
        if [ ! -s /etc/pointercal ] ; then
                rm /etc/pointercal
                /usr/local/bin/ts_calibrate
        fi
else
        export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"
fi
unset TS_INFO_FILE

export QWS_KEYBOARD=TTY:/dev/tty1

export HOME=/root

#cd /usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher
#./fluidlauncher -qws
cd /usr/local/bin
./test -qws
hotplug

想运行个程序还没这么容易,从这个shell脚本中就可以看出还要对环境变量进行设置。想要运行程序也很简单,直接修改

#cd /usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher
#./fluidlauncher -qws

  改成你的程序

cd /usr/local/bin
./test -qws
  这样当你在点击start QT4.6.3中就能运行你的程序了。这里只是作为测试,看在ubuntu里编译的程序是否能在qte4上运行。
  这些都做完后,你的开发环境也基本搭好了。当然这里的文件系统是由友善提供的。里面有很多不需要的程序,建议自己制作文件系统。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。