天嵌 ARM开发社区

 找回密码
 注册
查看: 4706|回复: 3

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

[复制链接]
freewing 发表于 2017-3-7 14:52:14 | 显示全部楼层 |阅读模式
  该文章原创于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
nice026 发表于 2017-5-26 18:51:23 | 显示全部楼层
哦,收藏一下
cnszz 发表于 2017-11-10 16:08:15 | 显示全部楼层
按这个步骤操作后,显示也正常。但使用SD卡启动屏幕没有显示进入LINUX系统。(64G_SD卡)
cnszz 发表于 2017-11-10 16:08:56 | 显示全部楼层
按这个步骤操作后,显示也正常。但使用SD卡启动屏幕没有显示进入LINUX系统。(64G_SD卡)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-20 04:13 , Processed in 1.015625 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表