iTOP-4412编译Qt-hdmi视频输出的内核和文件系统

开发平台:win10+虚拟机Ubuntu+4412 pop

第一步:
目标:手上没有触摸屏,只能用显示器,编写linux的hdmi内核,保存,之后可以看看驱动怎么编写的以及Qt的用户程序的移植,

前期工作

环境配置起来
内核编译需要什么东西
文件系统编译需要什么东西

虚拟机Ubuntu可以用迅为配置好的镜像安装,可以省不少事

安装交叉编译器(内核的编译器和 uboot 的编译器一样),但是文件系统的编译器 和 uboot 和 kernel 的 编 译 器 不 一 样

编译 QtE4.7 库使用的编译器是交叉编译器编译工具“arm-linux-gcc-4.3.2.tar.gz”,

Qt/E4.7.1 的 u-boot-iTOP-4412.bin、zImage 以及 ramdisk-uboot.img 和 Qtopia 通用,编译方法也一样。
它们的区别是“Qtopia”带有一个桌面系统,“Qt/E4.7.1”只是一个强大的库。

Qt/E4.7.1 使用的是 arm-linux-gcc-4.3.2.tar.gz是一个交叉编译器

交叉编译器:在宿主机上编译的程序可以在不同平台的目标系统上运行。(平台具有的两层含义:核心处理器的架构,所运行的系统)有三种情况(一个·相同,和都不同)

内核编译

1)找到 iTop4412_Kernel_3.0内核源码, 配置内核

2)内核目录下运行命令“cp config_for_ubuntu_hdmi .config” ,如果要配置内核,需要修改当前的配置文件(vim .config), (开发资料的293页)
在这里插入图片描述

3)然后执行make(内核的编译器和 Android4.0.3 的内核编译器一模一样(arm-2009q3)参照7.2.2 ,p272页,安装交叉编译器,有些操作需要root权限)

4)生成内核镜像,在当前内核目录的 : ls arch\arm\boot 可以看到zImage

文件系统编译

所需资料:4412光盘资料\08_源码_QtE以及qtopia2.2.0文件系统中的root_20150422.tar (文件系统源码)+ 编译工具 linux_tools.tgz(光盘资料\ 02_编译器以及烧写工具\tools)

安装编译器步骤

1) 拷贝压缩包到 (开发平台的)Ubuntu 系统的“/”目录下,注意目录是“/”

2)进入“/”目录,然后使用命令“tar -vxf linux_tools.tgz ”,将压缩包解压。

3)解压后如下图所示,在“/usr/local/bin/”目录下生成了两个文件。
在这里插入图片描述

编译文件系统

1)使用命令“cd /home/t用户/”进入 用户 目录,然后使用命令“mkdir Linux+QT” 新建一个“Linux+QT”文件夹,如下图所示

在这里插入图片描述

2)拷贝文件系统的源码至新建的文件夹

在这里插入图片描述

3) 使用命令“tar -vxf root_xxxx.tar.gz”解压压缩包,生成root文件夹

4)修改启动配置文件/etc/init.d/rcS(为了可以从qt界面启动)

在这里插入图片描述

5)然后修改/bin/qt4文件(在第一行后面添加),为了可以从hdmi输出显示

mv /dev/fb0/dev/fb0_bak

ln -s /dev/fb6 /dev/fb0

在这里插入图片描述

然后保存,退出

  1. 使用之前安装的编译工具编译文件系统,生成system.img,注意需要返回root文件夹的上一级,不然找不到
make_ext4fs  -s  -l  314572800  -a  root  -L  linux  system.img  root 

7)烧写zImage和system.img文件

烧写内核和文件系统

参考文档:6.2 OTG烧写工具

安装超级终端以及OTG烧写的驱动,在超级终端里面切换模式,之后通过otg刷系统,(驱动可以用驱动精灵安装)

一个使用232串口工具(需要转接)一个使用USB线(OTG)

超级终端工具进去uboot

进入uboot,按键启动直接按回车键
命令:
fdisk -c 0
创建 eMMC 分区并格式化。如果原来已经做过此步骤,则可以跳过,不必每次烧写前都分区和格
式化。在超级终端中,输入下面分区和格式化命令。

若之前分区过,则直接fastboot

注意,fastboot 命令需要与 PC 上的 USB_fastboot_tool 工具配套使用,而且 fastboot 命令需要进入uboot 模式中才能使用

OTG烧写

1)在 PC 机上运行“USB_fastboot_tool”–>“platform-tools”文件夹中的文件“cmd.exe”(cmd.exe 可执行文
件是 Windows 自带的命令行工具
2)一般不用烧写uboot文件,因为这是通用的程序,出厂前已经烧写了的

3)输入烧写 zImage 内核命令:fastboot.exe flash kernel zImage

4)输入烧写 ramdisk 命令:fastboot.exe flash ramdisk ramdisk-uboot.img
5)输入烧写 system 文件系统命令: fastboot.exe flash system system.img
6)输入擦除命令: fastboot -w
7)输入重启开发板命令: fastboot reboot

下一步规划:

qte库文件的编译和qt程序的移植

stem 文件系统命令: fastboot.exe flash system system.img
6)输入擦除命令: fastboot -w
7)输入重启开发板命令: fastboot reboot

下一步规划:

qte库文件的编译和qt程序的移植

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值