查看: 957|回復: 0
打印 上一主題 下一主題

[提問] Android4.4.2 源碼編譯-iMX6Q/D核心板-非設備樹源碼

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2020-4-23 10:52:28 | 只看該作者 |只看大圖
5.3.1 Android 源碼整體編譯-基于迅為-IMX6開發板系列
本節介紹如何將 Android 源碼如何整體編譯,即將 uboot,kernel,Android 鏡像一次
性全部編譯出來。
注意:編譯 Android 系統必須保證給 Ubuntu 系統提供 4G 以上內存。這里“提供 4G 以
上內存”的意思,不僅僅是指在 VMware Workstations 虛擬機中設置分配 4G 內存。例如,
用戶在編譯的時候,PC 機的內存一共是 6G,在虛擬機中設置分配 4G 內存,但是在
Windows 系統下,開著 QQ,殺毒軟件,音樂播放器,瀏覽器等等,這樣在 Windows 下占
用的內存就快 2G 了,那么虛擬機會自動調整到只占用 2G,甚至不到 2G 的內存,這樣就有
可能沒法編譯通過。
正確的分配內存方法是,首先給虛擬機分配 4G 以上內存,然后在 Windows 下關掉盡量
多的不必要的應用,關掉盡量多應用的后臺程序。
當然,如果用戶的 PC 是 8G 或者 16G 內存,隨意就成。
Android 源碼在光盤目錄“04_源碼_Android4.4 文件系統”下,壓縮包先在 windows
下解壓,解壓之后的到單獨的壓縮包“iTOP-iMX6_android4.4.2_20160904.tar.gz”。
將“iTOP-iMX6_android4.4.2_20160904.tar.gz”壓縮包解壓到 Ubuntu 下(作者在
/home 目錄下新建了 imx6 目錄,將源碼拷貝和解壓到 imx6 目錄下)。注意:這里的解壓命
令,包括后面的解壓命令中,壓縮包的日期可能有點不一樣,用戶要根據實際情況調整。

使用解壓命令“tar -vxf iTOP-iMX6_android4.4.2_20160904.tar.gz”解壓源碼,如下
圖所示。

解壓之后得到“iTOP-iMX6_android4.4.2”文件夾,如下圖所示。

使用命令“cd iTOP-iMX6_android4.4.2”,進入“iTOP-iMX6_android4.4.2”目錄,
如下圖所示。

如下圖所示,使用 ls 命令,可以看到編譯腳本“create.sh”。

運行腳本“./create.sh”,可以編譯出適用于商業級核心板的 uboot,kernel,以及
Android 文件系統,如下圖所示。

注意!如果想編譯出適用于工業級核心板的 uboot,kernel,以及 Android 文件系統,
需要在編譯時增加參數“1GDDR”,即:“./create.sh 1GDDR”,如下圖所示。(1、要支持
工業級核心板,源碼版本要求為 20180706 及其之后日期版本。2、下面截圖與上述路徑不
同,大家不用考慮,只需知道編譯適用于工業級核心板源碼時,需要添加參數即可。其他步驟
完全相同。)

如下圖所示,開始編譯。

編譯完成,如下圖所示。

編譯完成之后,使用命令“cd out/target/product/topeet_6dq”進入鏡像目錄,使用
ls 命令,可以看到生成了“u-boot.bin”,“boot.img”,“system.img”,
“recovery.img”等鏡像文件。

5.3.2 單獨編譯
上一小節介紹了 Android 的整體編譯,本節介紹單獨編譯 uboot 和 kernel。
5.3.2.1 單獨編譯 uboot
進入源碼解壓得到的“iTOP-iMX6_android4.4.2/bootable/bootloader/uboot-imx”
目錄,如下圖所示,可以看到腳本“build_uboot.sh”。

如果沒有執行過“5.3.1 Android 源碼整體編譯”小節,在運行單獨編譯腳本前,可以對
編譯文件進行配置。
①:適用于商業級核心板:
進入到“board/freescale/mx6q_topeet/”目錄下,
cp flash_header.S_2G flash_header.S
進入到“include/configs”目錄下,
cp mx6q_topeet.h_2G mx6q_topeet.h
②:適用于工業級核心板:
進入到“board/freescale/mx6q_topeet/”目錄下,
cp flash_header.S_1G flash_header.S
進入到“include/configs”目錄下,
cp mx6q_topeet.h_1G mx6q_topeet.h
配置完成后,運行腳本“build_uboot.sh”開始單獨編譯 uboot。如下圖所示。

如下圖所示,編譯完成。

如下圖所示,生成了“u-boot.bin”文件,就是 uboot 的鏡像。iTOP-iMX6 開發板所有
的系統通用一套 uboot 源碼和鏡像。

5.3.2.2 單獨編譯 kernel
單獨編譯 kernel,則進入源碼解壓的到的“iTOP-iMX6_android4.4.2/kernel_imx”目
錄,如下圖所示。

如下圖所示,使用命令“./build_android_kernel.sh ”,開始編譯內核。

如下圖所示,開始編譯。

如下圖所示,編譯完成。

如下圖所示,在“iTOP-iMX6_android4.4.2/kernel_imx/arch/arm/boot”目錄下生成
uImage,即是內核鏡像。但是 iMX6 的內核燒寫文件比較特殊,需要再次經過打包壓縮,所
以還需要重新運行整體編譯 android 的腳本“create.sh”,才能生成“boot.img”,
android 編譯一次之后,后面編譯就非?炝。

更多內容關注迅為電子

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
尚合彩票手机登录 vr三分彩是哪里开的 广西快3开 福建快3推荐 佳永配资-安全放心的股票配资公司【官网】 江苏快三玩法技巧视频 新疆新乐彩11选5玩法 股票权重是什么意思 期货配资网 青海快三有哪些 现在上证指数是多少