移植QT5.6到韦东山JZ2240嵌入式开发板(史上最最最最最详细的QT移植教程)

首先感谢http://blog.csdn.net/lizuobin2/article/details/52673494的博主,应该是韦东山团队的老师,说实话,拿到JZ2440的板子很长时间了,每次都有冲动去折腾它,其实初学者不是很喜欢从0开始学linux,我们迫切想知道linux是哪样,以及自己拿这块板子可以玩点什么,那么初学者第一件想干且有热情干的事情就是不用懂原理,按照扎实的步骤编译uboot、linux内核、构建文件系统、移植qt程序到我们的开发板上面!可惜啊,每次我的热情都被韦东山团队配套的使用手册pdf、论坛的指导贴给迅速磨灭,因为它们写的实在是。。。,天天打着各种广告卖教学视频,居然连初学者最迫切的需要都不知道,写的文档要么就是太相信初学者的水平,要么就是说一句留一句,而且技术支持。。。。。,初学者很看重入门这个阶段,不过说实话,韦东山的视频确实不错,耐心下来确实可以学到不少东西!机缘巧合这几天我的zynq板子(米联客的技术支持是目前线上最nb的,没有之一,强烈推荐)被我误擦错电源烧坏,送回去维修了,再加上正好韦东山出了新一期的教程加强版,最关键的是配套开发环境Ubuntu终于换成了16.04(虽然下载有各种问题),有谁喜欢对着Ubuntu 9.10的请举手!!!!!!废话不说了,开始老老实实重新优化上面博主的文章,再次感谢博主文章的指导。

1、 开发环境:ubuntu 16.04(https://eyun.baidu.com/s/3miEaDza#sharelink/path=%2F)

在全部文件>百问网分享的所有文件>005_ARM裸机1期加强版里面,下载解压有问题,这个ubuntu-16.04.2-x64-100ask-s002.vmdk破坏了,需要和团队老师索要,我不知道为什么反正之前可以进入图形界面,现在下载的开机也不能登录图形界面,需要自己网上自己想办法搞定,吓得我赶紧把虚拟机备份了下,希望韦东山团队赶紧上传个可以用的,环境很重要!

2、 编译器:

友善的 4.4.3 版本的交叉编译工具:arm-linux-gcc-4.4.3.tar.gz
链接:http://pan.baidu.com/s/1nvJF8ud密码:oi57
将现在原有的交叉编译器路径替换为我们新解压的交叉编译器:
a. 设置root密码:sudo passwd
b. sudo gedit/etc/bash.bashrc
在最后加入
exportJAVA_HOME= /work/qt/FriendlyARM-gcc-4.4.3/bin (这个根据你自己将arm-linux-gcc-4.4.3.tar.gz解压到哪边,千万不要直接复制)
#exportJAVA_HOME=/work/tools/gcc-3.4.5-glibc-2.3.6/bin (//这是之前的3.4.5,可以#注释掉,留着以后方便切换)
exportPATH=$JAVA_HOME/:$PATH
c. source /etc/bash.bashrc
建议在book用户和root用户下面都用arm-linux-gcc –v命令试下,确保是4.4.3交叉编译环境!如果不放心,重启下电脑!

3.重新编译uboot 2012.04.01(测试也可以使用最新的U-Boot 1.1.6enable Ethernet alltime)

Uboot 2012.04.01打好补丁的源码:(下载以后使用务必在linux环境解压,不然就会出错,因为windows环境下xx.h 和XX.h是默认覆盖的)
下载链接: https://github.com/lizuobin/uboot-2012.04.01-jz2440.git
编译步骤:
makesmdk2410_config
make

uboot成功如下:

将u-boot源码下tools目录里的mkimage工具复制到/usr/bin目录下去,这样在编译内核时“make uImage”才会成功。

 

4.重新编译内核(不要直接使用下载的uImage 4.3,触摸无用)

内核3.4.2源码:

https://github.com/lizuobin/linux-3.4.2-jz2440.git

编译步骤:

cp config_ok.config

make uImage

 

可能遇到的问题:

a.Can't use'defined(@array)' (Maybe you should just omit the defined()?) atkernel/timeconst.pl line 373.

去掉defined

  b. 查看xxxx/linux-3.4.2-jz2440-master/include/linux下的input.h 里面的EV_VERSION

查看/usr/include/linux下的input.h 里面的EV_VERSION

确保两者的值是一样的!不然会出现“selected device is not a touchscreen I understand”错误,此时触摸屏触摸没有反应,这是由于内核和编译器的一个宏定义不一致导致的!

 

  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值