找回密码
 立即注册
收起左侧

第3篇 天嵌E9开发板烧写现有Qt系统

14
回复
27162
查看
[复制链接]
累计签到:181 天
连续签到:1 天
来源: Qt教程 2015-4-28 21:55:08 显示全部楼层 |阅读模式
第3篇 天嵌E9开发板烧写现有Qt系统




版权声明

该文章原创于Qter开源社区www.qter.org),作者hzzhou,转载请注明出处!


前言



拿到了天嵌的E9开发板,简直爱不释手。比名片略大的体积,丰富的接口,强悍的性能,电容触摸屏。这些都让我非常满意。基于它强大的功能,不但可以用它来学习Linux + Qt,还可以学习Android。虽然它的价格稍微贵了一些,性价比却更高了。天嵌为它准备了四套系统。分别是:Android、Ubuntu、Linux + Qt和UCos,这大大增加了它的实用性,比如运行Android,你可以把它当成是各种盒子,连接上电视或者是显示器,再装上一个网络电视软件,完全可以用来看电影电视剧了。运行Ubuntu系统,哪它就是一台ARM核心的电脑,甚至你可以在上面做程序开发。做为一个工程师,就是在各种折腾中才能找到乐趣。生命不息,折腾不止。
当然,我不会忘记我的初衷。我的目的是在它上面运行Qt 5,由于它支持OpenGL所以完全可以跑QML,理论上效果应该会很不错。天嵌提供了一套Linux + Qt的系统,使用的Qt 4.5。虽然不是我需要的Qt 5,但是以这些为基础,我相信Qt 5移植起来会容易很多。这篇教程的目的就是先把天嵌提供的这套系统烧写到开发板上,让它正常运行。这样做的目的一是为Qt 5的移植准备一个基础的Linux系统,再者就是如果后边Qt 5的移植出现了问题,这系统也可以做为一个参考。
在开始本节之前,我们先来测试下开发板是否可以启动。E9开发板默认安装的是Android系统,下面连接好显示屏和电源线,按下电源开关,会自动启动Android系统,效果如下图所示。
有兴趣的同学可以测试下这个自带的系统。对于本节内容,因为涉及到了具体的开发板,如果大家手头没有E9开发板,可以跳过本节,不过这里还是建议快速浏览一遍本节内容,这样可以对开发板烧录过程有个简单的了解。



一、烧写方式选择


E9开发板提供了两种烧写方式:
       1、在windows系统上使用freescal提供的MFG-tools工具进行烧写;
       2、通过TF卡进行烧写。
       由于做Qt 5的移植需要在Linux系统上进行。如果使用第一种方法的话,就比较麻烦了,要么不停的切换操作系统,要么使用虚拟机,要么就需要把编译好的文件拷贝到别的电脑上去进行烧写。这样做不仅麻烦,而且极大的影响工作效率。所以这里我们采用的是第二种方法。


二、准备工作


1、需要使用的工具

要完成整个的烧写过程需要做如下准备:
1、安装好的Linux系统(比如第一篇文章中讲得Ubuntu系统);
       2、minicom软件,这是一个串口通信软件,在做嵌入式开发过程是会经常用到;
       3、TF卡和读卡器;
       4、如果你的电脑没有串口,还需要准备一个USB转串口工具;
       5、downloader_V2.0.tar.gz工具包。(天嵌光盘中有,或者到这里下载)
       6、EmbedSky.ini、u-boot_E9_for_linux_v3.0.bin、uImage_E9_for_linux_v3.0和rootfs_E9_for_linux_v3.0.tgz (天嵌光盘中有,或者到这里下载)

       以上这些都准备好了,就可以开始往下进行了。这里默认大家都装好了Ubuntu系统。下面我们先来看一下minicom的安装和配置。


2、安装并配置minicom

首先使用Ctrl+Alt+T快捷键打开终端,然后输入如下命令来安装minicom:

sudo apt-get install minicom

如下图所示。





安装完成以后,输入:sudo minicom -s 命令对minicom进行配置。如下图所示。


首先选择Serial port setup选项并按回车键进行串口端口配置。如下图所示。


       因为后面要使用USB转串口,而USB设备的默认名称为ttyUSB0。我们按下A键来修改Serial Device为/dev/ttyUSB0 ,完成后按下回车,然后按E修改速率为1152008N1,最后按F设置硬件流控制为No,如下图所示。


       设置完成后按下回车退出,然后在主菜单选择Modem anddialing选项,将其中的A、B、K三项设置为空。如下图所示。


       最后,在主菜单选择Save setup as dfl 将现在的配置设置为默认。然后选择Exit退出minicom。



三、制作TF


1、解压缩工具包      
       为了方便的制作可以用来烧定的TF卡,天嵌提供了一个名为downloader_V2.0.tar.bz2的工具包,我们把它拷贝到Ubuntu系统的任一目录下,然后在终端通过命令跳转到该目录下,执行以下命令来解压这个文件:

sudo  tar  xvjf downloader_V2.0.tar.bz2 -C /

       这个命令完成后,会把文件解压到/opt目录下,用ls命令可以看到如下信息:

ls /opt/Embedsky/TQIMX6/E9/downloader/
create_sdcard.sh  download.img u-boot_for_download.bin

       可以看到,共解压出来三个文件,其中create_sdcard.sh就是我们用来制作TF卡的脚本文件。


2、制作TF      
       这里我们先用ls命令查看可用的设备文件:

$ ls/dev/sd*

结果如下图所示:

这里的sda是电脑的硬盘。现在把准备好的TF卡插入电脑,然后再次运行如下命令:
$ ls /dev/sd*

结果如下图所示:

可以看到,现在多了一个sdb,它就是我们插入的TF卡。

确定了TF卡的设备文件,下边就可以制作用来烧写的TF卡了。要正确执行create_sdcard.sh脚本,需要到存放这个脚本的目录下去执行。因为这个脚本执行过程中需要用到刚解压出来的download.img和u-boot_for_download.bin这两个文件,如果不在正确的目录执行,脚本就不能正确的找到这两个文件了,会造成TF卡制作失败。另外需要注意的一点是,这个脚本的执行需要使用root权限。首先跳转到执行目录:

$ cd  /opt/Embedsky/TQIMX6/E9/downloader

然后使用如下命令来制作TF卡:

$ sudo ./create_sdcard.sh -f /dev/sdb

如下图所示。


       下图是这个脚本正确执行后输出完整信息:


命令执行完成后用ls /dev/sd*命令查看到的设备文件如下(如果没有变化,则需要重新拔插TF卡):


可以发现,create_sdcard.sh脚本把TF卡分为两个区。接下来要作的工作就是把需要烧写到开发板的镜像文件拷贝到sdb1分区。


3、拷贝文件


需要用到前面准备好的四个文件:

1、EmbedSky.ini
2、u-boot_E9_for_linux_v3.0.bin
3、uImage_E9_for_linux_v3.0
4、rootfs_E9_for_linux_v3.0.tgz

       在sdb1分区的根目录新建images目录,然后:

1、EmbedSky.ini拷贝到images目录下
2、u-boot_E9_for_linux_v3.0.bin文件拷贝到images/bootloader目录下(bootloader目录需要新建),并重命名为:u-boot.bin
3、uImage_E9_for_linux_v3.0文件拷贝到images/linux目录下(linux目录需要新建),并重命名为:uImage
4、rootfs_E9_for_linux_v3.0.tgz文件拷贝到images/linux目录下,并重命名为:rootfs.tgz

如下图所示。




4、烧写开发板


将TF卡插入到开发板上,接好开发板的串口,然后连接好显示屏。如下图所示:


       在命令行使用sudo minicom命令打开minicom软件,然后连接开发板的电源,可以看到minicom收到开发板传来的信息如下:

##### EmbedSky BIOS for E9 #####
Hit any key to stop autoboot:  3

       这里开发板进入倒计时,如果3S内,用户没有按下键盘按键,则正常进入设置好的系统,如果用户按下任意键,则停在uboot程序里,等待用户输出命令。这里按回车键,可以看到如下选项:

#####    Boot for IMX6 Main Menu        #####
[1]boot from emmc
[2]boot from sdcard
[3]boot from tftp
[5]download fromsdcard
[0]setting boot args
[q]exit to commandmode
Enter your selection:
如下图所示:

这里输入5,就可选择从TF卡来烧写系统。输入5后,可以看到如下信息:

kernel   @ 10808000 (5062660)
ramdisk  @ 11800000 (2829241)
kernel cmdline:
        use uboot command line:
        console=ttySAC0,115200 init=/initvideo=mxcfb0:dev=lcd,CLAA-WVGA,if=RGB24,bpp=32 video=mxcfb1:off video=mxcfb2:offfbmem=48M vmalloc=400M androidboot.console=ttySAC0androidboot.hardware=freescale
Starting kernel ...
UncompressingLinux... done, booting the kernel.

然后就是等待了,到这里后,开发板不再给出任何信息,为了保证烧写完成,我等待了约5分钟,然后重新给开发板上电。就可以正常进入到Linux + Qt系统了,这里默认启动了tqpda程序,如下图所示,有兴趣的朋友可以仔细研究一下。



结语


到这里就完成了开发板烧写Linux + Qt系统的整个过程,如果操作熟练,整个过程还是非常简单的。在后面的教程会介绍Qt 5的移植,并它Qt 5布置到开发板,然后用一个简单的例程来验证Qt 5移植的正确性。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

尚未签到

2015-4-28 22:10:38 显示全部楼层
这个必须顶
回复 支持 反对

使用道具 举报

累计签到:181 天
连续签到:1 天
2015-4-28 22:26:44 显示全部楼层
Joey_Chan 发表于 2015-4-28 22:10
这个必须顶

后边的教程很快就会发上来,一定要多顶顶。
回复 支持 反对

使用道具 举报

累计签到:13 天
连续签到:1 天
2015-4-29 09:58:45 显示全部楼层
强烈支持楼主 顶起 顶起
回复 支持 反对

使用道具 举报

累计签到:97 天
连续签到:1 天
2015-6-9 09:10:12 显示全部楼层
强烈支持
回复 支持 反对

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-7-9 12:07:03 显示全部楼层
妞B的大神
回复 支持 反对

使用道具 举报

累计签到:23 天
连续签到:1 天
2015-8-14 09:14:21 显示全部楼层
必须顶,支持,                     
回复 支持 反对

使用道具 举报

累计签到:3 天
连续签到:1 天
2015-11-12 11:26:51 显示全部楼层
顶顶顶,必须顶:lol:lol
回复 支持 反对

使用道具 举报

尚未签到

2016-2-10 08:33:03 显示全部楼层
不太了解这个的,觉得不错
回复 支持 反对

使用道具 举报

累计签到:82 天
连续签到:1 天
2016-3-1 15:03:18 显示全部楼层
楼主辛苦了
回复 支持 反对

使用道具 举报

尚未签到

2016-3-26 07:44:32 显示全部楼层
谢谢楼主啊,受益匪浅啊!
回复 支持 反对

使用道具 举报

累计签到:34 天
连续签到:1 天
2016-4-10 10:18:02 显示全部楼层
好久没见  楼主 露面了。。。。。。顶起来
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2017-1-13 18:10:59 显示全部楼层
良心教程,必须支持啊
回复 支持 反对

使用道具 举报

尚未签到

2018-6-4 11:57:25 显示全部楼层
多谢楼主,帮了很多忙
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:2 天
2018-12-17 19:23:41 显示全部楼层
厉害了,必须支持,顶起来
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了