snifer

[原创]实践之Qt在Blackfin平台的移植应用

0
阅读(3710)

最近有朋友跟我交流在ADI 的Blackfin平台上进行的实践,很多细节我不清楚了,今天我把整个过程重新进行了一遍,写出来,跟朋友们共勉。

先介绍一下QT,做个扫盲,这里使用的是 Qte-4.5.2。Qt 的开发公司奇趣科技在被诺基亚收购后,Qt 代码中就融入了很多诺基亚的风格,相比之前的风格显得更为时尚和人性化,而且更加适合用于手机等移动设备,因此在进行 GUI 的选择的时候不妨考虑一下。

为了让你的Blackfin系统能顺利运行qt,你必须保证你的系统已经存在一个可以运行 ulinux 系统(内核需要支持 unix socket 选项 )且支持 frambuffer  Blackfin平台环境 , 并且有了 blackfin 平台编译工具链。

1 配置:解压光盘中的 linux\linux-source\ qt-embedded-linux-opensource-src-4.5.2.tar.gz 到Ubuntu 下,在终端中进入该目录。若默认交叉编译工具链(Blackfin-linux-)没有加入到系统的环境变量或所用的交叉编译工具链不是 Blackfin-linux-,所需要修改 qt-embedded-linux-opensource-src-4.5.2 目录下的mkspecs/qws/linux-arm-g++/qmake.confroott@UbuntuTian:/home/chinasoft/qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-arm-g++# vim qmake.conf 修改,并输入以下命令进行 qt4 的配置:./configure -prefix /usr/local/QtEmbedded-4.5.2 -embedded arm -no-webkit-no-qt3support -nomake examples -nomake demos -nomake docs -xplatformqws/linux-arm-g++ -little-endian这时候会要求选择版本和是否接受 license,这里输入 o 和 yes 即可:

2、编译、安装:这里默认使用 arm-linux-编译器,光盘中提供的 eabi-4.3.1中已经做了 arm-linux-的软连接,把该编译器的路径添加到 PATH 环境变量即可得到 arm-linux 前缀的 EABI-4.3.2编译器。在设置好编译器后进行编译:

漫长的编译结束后将在主机(Ubuntu)下的/usr/local/QtEmbedded-4.5.2 得到编译后的结果。不过这个编译后的目录内保护了很多不需要放到板子上的内容,可以这个目录下的部分目录内容进行删减后,如下面的 2 个图所展示的那样。另外即使按照下图进行删减后仍然有相当部分文件可以删除的,不过这里就留给读者去完成了。

3 设置运行时的环境变量上面步骤之后已经得到了可用的 Qte,把整个 QtEmbedded-4.5.2目录复制到板子根目录的/usr/local/路径下。接着在板子的/usr/local/QtEmbedded-4.5.2 中添加脚本文件setenv-arm.sh,添加如下内容:

注意红色部分字体的设置是非常重要的,主要是指定触摸屏的工作参数。最后一句是自动运行特定的程序,保存退出,并进入板子 shell 界面执行这个脚本。接着便可以运行一下自带的那些测试程序了:

 

便能在 LCD 上看到一个漂亮的动画了:

OK,一切正常了,做图形界面开发就没问题了,就写这么多吧,有问题的,需要相关软件的,可以给我发消息,谢谢大家。