打印

skyeye 1.2.4模拟s3c2410运行qt-embedded的步骤

skyeye 1.2.4模拟s3c2410运行qt-embedded的步骤

1.  配置LCD
按参照 http://www.linuxfans.org/bbs/thread-182082-1-1.html

2. 配额网络
按参照我的上篇文章http://www.linuxfans.org/bbs/thread-182384-1-1.html


mkdir /home/arm
cd /home/arm
3 下载qt-embedded-2.3.7.tar.gz,tmake-1.11.tar.gz
复制内容到剪贴板
代码:
tar zxvf qt-embedded-2.3.7.tar.gz
tar zxvf tmake-1.11.tar.gz
mv qt-2.3.7 qt-embedded-target
mv tmake-1.11 tmake
设置环境变量
复制内容到剪贴板
代码:
export TMAKEDIR=$PWD/tmake
export QTEDIR=$PWD/qt-embedded-target
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
4.配置交叉编译环境
这里使用的是3.3.2
复制内容到剪贴板
代码:
tar jxvf cross-3.3.2.tar.bz2
mkdir /usr/local/arm
mv 3.3.2 /usr/local/arm
export PATH=/usr/local/arm/3.3.2/bin:$PATH
5. 开始编译
cd $QTEDIR
/configure -xplatform linux-arm-g++ -no-xft -no-qvfb -depths 4,8,16,32
make
在编译一会后
会出现
复制内容到剪贴板
代码:
/home/arm/qt-embedded-target/lib/libqte.so: undefined reference to `operator new[](unsigned int)'
/home/arm/qt-embedded-target/lib/libqte.so: undefined reference to `operator delete(void*)'
/home/arm/qt-embedded-target/lib/libqte.so: undefined reference to `__cxa_pure_virtual'
/home/arm/qt-embedded-target/lib/libqte.so: undefined reference to `operator delete[](void*)'
/home/arm/qt-embedded-target/lib/libqte.so: undefined reference to `operator new(unsigned int)'
collect2: ld returned 1 exit status
make[4]: *** [t1]
没有关系 这个是连接测试文件时出现的错误,没有关系的 因为我们需要的动态库已经连接好了

这步完成后,我们会在/$QTEDIR/lib/目录下面看到libqte.so libqte.so.2 libqte.so.2.3 libqte.so.2.3.7 这四个文件,我们可以使用file 命令来查看这个库文件是否是我们需要的在开发板上跑的库。
file libqte.so.2.3.7
libqte.so.2.3.7: ELF 32-bit LSB shared object, ARM, version 1 (ARM), stripped

6编译示例程序

这里需要修改文件 $TMAKEDIR/lib/qws/linux-arm-g++/tmake.conf

将其中“TMAKE_LINK= arm-linux-gcc”
“TMAKE_LINK_SHLIB= arm-linux-gcc”
修改为:“TMAKE_LINK= arm-linux-g++”
“TMAKE_LINK_SHLIB= arm-linux-g++”
复制内容到剪贴板
代码:
cd $QTEDIR/examples/progressbar
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export PATH=$TMAKEDIR/bin/:$PATH
make clean
tmake -o makefile progressbar.pro
make
file progressbar
progressbar: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), not stripped
7 为运行Skyeye准备环境
编辑 host上的nfs配置文件/etc/exports
复制内容到剪贴板
代码:
/home/arm 10.0.0.*(ro,sync) #这里放的是我们解压qt-embedded-2.3.7.tar.gz时的目录
/home/lib 10.0.0.*(ro,sync) #这里放arm-linux-gcc的一些动态库
复制我们需要的动态库
复制内容到剪贴板
代码:
mkdir /home/lib
cd /home/lib  
cp -arf /usr/local/arm/3.3.2/arm-linux/lib/libgcc_s.s* .
cp -arf /usr/local/arm/3.3.2/arm-linux/lib/libstdc++.s* .
ln libstdc++.so.5.0.5 libstdc++.so.5 -s
cp -arf /usr/local/arm/3.3.2/lib/ld-2.3.2.so .
cp -arf /usr/local/arm/3.3.2/lib/ld-linux.so.2 .
cp -arf /usr/local/arm/3.3.2/lib/libm-2.3.2.so .
cp -arf /usr/local/arm/3.3.2/lib/libm.so .
cp -arf /usr/local/arm/3.3.2/lib/libm.so.6 .
cp -arf /usr/local/arm/3.3.2/lib/libc-2.3.2.so .
cp -arf /usr/local/arm/3.3.2/lib/libc.so.6 .
启动skyeye -e vmlinux
复制内容到剪贴板
代码:
mkdir mnt
mount -o nolock 10.0.0.1:/home/lib /lib
mount -o nolock 10.0.0.1:/home/arm /mnt
cd /mnt
export QTEDIR=$PWD/qt-embedded-target
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/lib:$LD_LIBRARY_PATH
/mnt/qt-embedded-target/examples/progressbar/progressbar -qws
触摸屏还没有弄好
谁有方面的资料啊

还有 模拟起来超级的慢

[ 本帖最后由 zbluecn 于 2008-2-2 23:54 编辑 ]
附件: 您所在的用户组无法下载或查看附件
代码人生
Experiences of Code

TOP

You can try to use DBCT option in skyeye.conf as the following . Probably it can make simulation speed faster.
dbct:state=on

TOP

回复 #1 zbluecn 的帖子

Great work. You can download touchscreen driver for at91 from URL:http://skyeye.wiki.sourceforge.n ... yeye-v0.2.4.tar.bz2

That can support the touchscreen simulated by SkyEye. But You have to modify its io address and irq number for your 2410 machine.

TOP

请问zbluecn,你是通过什么软件在windows下登录vmware的fc4的?
谢谢

TOP

你好! 請問QTDIR和QTEDIR有什麼不同?
       如果我只是使用qt-embedded-x.x.x,是否可以不設定export QTDIR?
謝謝!

[ 本帖最后由 aUmbrella 于 2008-4-18 02:23 编辑 ]

TOP

触摸屏还没有弄好
谁有方面的资料啊

我也是,点击不准确好像,点不住按钮

还有 模拟起来超级的慢
非常慢,不过我是在vmware里面跑的linux

TOP

你可以尝试着用Nor flash的文件系统,应该比NFS要快一些

TOP

这样可以吗??我实践过楼主的前一篇NFS挂载skyeye的文章,我也成功了,都是我mount了之后,设置了相关依赖库等,程序就是执行不起来,提示都是 /bin/sh : xxx no found
但是静态编译的helloworld就可以运行起来,不知道怎么回事

TOP