天天看點

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頁)

iTOP-4412編譯Qt-hdmi視訊輸出的核心和檔案系統

3)然後執行make(核心的編譯器和 Android4.0.3 的核心編譯器一模一樣(arm-2009q3)參照7.2.2 ,p272頁,安裝交叉編譯器,有些操作需要root權限)

4)生成核心鏡像,在目前核心目錄的 : ls arch\arm\boot 可以看到zImage

檔案系統編譯

所需資料:4412CD光牒資料\08_源碼_QtE以及qtopia2.2.0檔案系統中的root_20150422.tar (檔案系統源碼)+ 編譯工具 linux_tools.tgz(CD光牒資料\ 02_編譯器以及燒寫工具\tools)

安裝編譯器步驟

1) 拷貝壓縮包到 (開發平台的)Ubuntu 系統的“/”目錄下,注意目錄是“/”

2)進入“/”目錄,然後使用指令“tar -vxf linux_tools.tgz ”,将壓縮包解壓。

3)解壓後如下圖所示,在“/usr/local/bin/”目錄下生成了兩個檔案。

iTOP-4412編譯Qt-hdmi視訊輸出的核心和檔案系統

編譯檔案系統

1)使用指令“cd /home/t使用者/”進入 使用者 目錄,然後使用指令“mkdir Linux+QT” 建立一個“Linux+QT”檔案夾,如下圖所示

iTOP-4412編譯Qt-hdmi視訊輸出的核心和檔案系統

2)拷貝檔案系統的源碼至建立的檔案夾

iTOP-4412編譯Qt-hdmi視訊輸出的核心和檔案系統

3) 使用指令“tar -vxf root_xxxx.tar.gz”解壓壓縮包,生成root檔案夾

4)修改啟動配置檔案/etc/init.d/rcS(為了可以從qt界面啟動)

iTOP-4412編譯Qt-hdmi視訊輸出的核心和檔案系統

5)然後修改/bin/qt4檔案(在第一行後面添加),為了可以從hdmi輸出顯示

mv /dev/fb0/dev/fb0_bak

ln -s /dev/fb6 /dev/fb0

iTOP-4412編譯Qt-hdmi視訊輸出的核心和檔案系統

然後儲存,退出

  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,按鍵啟動直接按Enter鍵

指令:

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程式的移植

繼續閱讀