新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > linux基础复习(5)建立linux开发环境

linux基础复习(5)建立linux开发环境

作者: 时间:2016-10-08 来源:网络 收藏

# mv qt-2.3.2 qt-x11

# cd x86-qtopia

# tar zxvf ../tmake-1.11.tar.gz

# tar zxvf ../qt-embedded-2.3.7.tar.gz

# tar zxvf ../qtopia-free-1.7.0.tar.gz

# tar zxvf ../e2fsprogs-1.35.tar.gz

# mv tmake-1.11 tmake

# mv qt-2.3.7/ qt

# mv qtopia-free-1.7.0 qtopia

# mv e2fsprogs-1.35 e2fsprogs

# cp x86-qtopia arm-qtopia -rf

记住,用户目录下的x86-qtopia目录是PC机上编译的工作环境,arm-qtopia是arm平台的交叉编译工作环境,qt-x11是两者公用的。

接下来还必须编译qt-x11,主要是为了编译生成其中的qtdesigner和qvfb。qvfb程序在系统中并未安装,需要我们自己编译。qtdesigner是和qt库的版本是相关的,当我们使用PC机上和QTE版本不符的qtdesigner时,可能在PC机上的qt-x11能使用的控件在QTE上并未实现,导致应用程序编译不成功。所以,我们使用2.3版本的QTE时,必须使用相同版本的qt-x11编译生成的qtdesigner和qvfb。

# cd ~/qt-x11

# export QTDIR=$PWD

# echo yes | ./configure -static -no-xft -no-opengl -no-sm

# make -C src/moc

# cp src/moc/moc bin

# make -C src

# make -C tools/designer

# make -C tools/qvfb

# cp tools/qvfb/qvfb bin

# strip bin/uic bin/moc bin/designer bin/qvfb

# cp qt-x11/bin/* qt/bin -f

# cp qt-x11/bin/* qt/bin -f

3. PC平台编译

编译之前做一下准备工作:打开一个控制台之后设置环境变量。

# cd ~/x86-qtopia

# export QTDIR=$PWD/qt

# export QPEDIR=$PWD/qtopia

# export TMAKEDIR=$PWD/tmake

# export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++

# export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH

3.1 编译QTE

# cd $QTDIR

# cp $QPEDIR/src/qt/qconfig-qpe.h src/tools/ -f

# (echo yes ; echo no) | ./configure -platform linux-generic-g++ -qconfig qpe -depths 16,24,32

# make -C src clean

# make -C src

看一下$QTDIR目录下是否已经有了qt的库了?

3.2 编译QTOPIA

# cd $QPEDIR/src

# ./configure

# make clean

# make

3.3 测试QTOPIA

激动的时刻来了,如果这个步骤成功将意味着可以做应用开发了。

# cd ~/x86-qtopia

# mkdir dist

# cd dist

# cp -af ../qt/lib/ .

# cp -af ../qtopia/apps .

# cp -af ../qtopia/bin .

# cp -af ../qtopia/plugins .

# cp -af ../qtopia/i18n .

# cp -af ../qtopia/pics .

因为Security.png有点错误,所以必须进行一下操作:

# cd pics

# pngtopnm Security.png>a.pnm

# pnmtopng a.pnm>Security.png

因为qpe运行的时候,当前目录必须是$QTDIR/bin,所以不能在$QTDIR目录下执行bin/qpe来运行。

# export QTDIR=~/x86-qtopia/qt

# cd $QTDIR/bin

# ./qvfb

# ./qpe

看到qpe在qvfb中的界面了吗?我看到了~!

4. 目标平台交叉编译

与PC机上的编译一样,打开一个控制台之后需要设置环境变量。

# cd ~/arm-qtopia

# export QTDIR=$PWD/qt

# export QPEDIR=$PWD/qtopia

# export TMAKEDIR=$PWD/tmake

# export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++

# export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH

4.1 交叉编译QT

4.2 交叉编译QTOPIA

5. 移植QT中的相关设备接口

5.1 鼠标

5.2 触摸屏

6. 移植QTOPIA中的相关设备接口

6.1 电源管理设备

7. 编写QT程序并移植

8. 编写QTOPIA程序并移植

X. tips

@ 移植的时候编译器的版本很重要.qte-2.3.7在redhat9的3.2编译器下工作很正常,但在Fedora4的gcc-3.4.2编译器下编译却不成功.根据测试,PC平台上使用gcc- 3.2可以顺利编译,arm平台上使用gcc-2.95.2可以顺利通过(gnuarm的编译器好像不行,用华恒光盘中的armv4l-unkown-linux-gcc的可以编译通过)

@ 编译过程中会提示缺少uuid的头文件和库,下载e2fsprogs-libs-1.38.tar.gz,里面有uuid的相关代码.

@ 编译的时候需要指定编译器,在qt的configs目录下有许多文件,修改linux-arm-g++-*这些文件中的相关定义.例如:默认使用arm-linux-gcc编译器,而我使用的是GNUARM的arm-elf-gcc编译器,替换文件中所有arm-linux-前缀为arm-elf-即可.

坦白说,安装过程很烦琐,我买开发板的时候,光盘送了一些工具,还有把QT/E 的安装过程做成了一个脚本,类似于windows 上的批处理,很方便,呵呵

做完上面那些,基本上开发平台就建好了,下面实践一下一些简单的工具使用:

(以下资料来自QQ2440 Linux 开发指南华南木棉嵌入式工作室

http://www.arm123.net

)

1.2.1.2.1

Jflash

jflash2440 是Linux 下通过JTAG 接口烧写BIOS 到Nand Flash 的工具。

使用JTAG 接口下载程序需要一条JTAG 电缆(已经随开发套件附送),把JTAG 电缆连接板

子和主机的并口,然后打开目标板电源开关

#cd /opt/FriendlyARM/QQ2440/Jflash

注意:该目录下包含了Jflash 的源代码,你可以运行“make clean”删除已经编译好的的程序,运行“make”重新编译。

执行以下命令可以查看Jflash 的使用方法:

#./Jflash-s3c2440 --help

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new windownCTRL+Mouse wheel to zoom in/out';} onclick=if(!this.resized) {return true;} else {window.open(this.src);} alt= src=http://blogimg.chinaunix.net/blog/upfile2/080412130758.jpg onload=if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new windownCTRL+Mouse wheel to zoom in/out';} border=0>



关键词:

评论


相关推荐

技术专区

关闭