国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

嵌入式學習篇丨迅為4412開發板Android4.4系統編譯

發布時間:2021-8-4 10:16    發布者:落風
Android4.4.4 的內核以及文件系統的源碼在網盤“iTOP4412 開發板資料匯總(不含光盤內容)\iTOP-4412開發板系統源碼及鏡像(其他)\android_4.4.4 源碼以及對應 Kernel 源碼”目錄下。

需要注意的是,其中“20170803”以及后續新增的目錄下的源碼編譯方法參考本小節,在“20170803”之前的源碼編譯參考 7.4.2 小節。
另外,由于 eMMC 升級和屏幕升級,如果用戶是 2018 年或者之后購買的開發板,或者新購買了金屬框 7 寸屏/10.1 寸屏,請直接下載“2018xxx”目錄下上傳的內核代碼和鏡像測試,Android 源碼和 20170803通用,編譯方法參考 7.4.1 小節。

8.1 搭建編譯環境
編譯安卓 4.4 使用 Ubuntu12.04,配置方法和 Android4.0 相同。編譯 uboot 和內核使用的編譯器和 編譯Android4.0.3 的內核編譯器一模一樣(使用 arm2009-q3)。編譯 Android4.4 文件系統相關的配置方法參考9.4 章節

8.2 編譯 U-boot
Android4.4.4 對應 uboot 的源碼,編譯器,參數配置,編譯腳本以及編譯參數和 Android4.0.3 的 uboot全部一模一樣,可參考“8.3 編譯 U-boot”章節。

8.3 編譯 Linux 內核
Android4.4 對應的 Linux 內核在網盤“iTOP4412 開發板資料匯總(不含光盤內容)\iTOP-4412 開發板系統源碼及鏡像(其他)\android_4.4.4 源碼及鏡像\xxxx\Android4.4-Source”目錄下,在最新日期的文件夾下的“iTop4412- android4.4-kernel_xxxx.tar.gz”壓縮包,xxxx 表示日期。
內核的編譯器和 Android4.0.3 的內核編譯器一模一樣(arm-2009q3)。
內核的編譯需要對應的配置文件,基本的配置文件名是“config_for_android_XX_YY”,XX,YY 表示用下表所示的參數替代。POP 和 SCP 分別對應核心板的 POP 和 SCP;elite 和 super 分別對應精英版和全能版;no_wifi 參數僅用于精英版,表示不支持 WiFi 模塊,如果沒有 WiFI 模塊,那么就需要配置為 no_wifi。

如上表所示,如果需要 Android4.4.4 支持 WiFi,則需要配置對應的參數,不支持 WiFi 也需要進行對應配置。

編譯生成內核鏡像舉例
和 Android4.0.3 內核一樣,如果需要編譯對應核心板的內核,首先使用 cp 命令將對應的配置文件覆蓋掉“.config”。
如果用戶要使用 5 寸屏幕,先要參考用戶手冊“7.6 支持 5 寸屏的內核補丁文件”,給內核打補丁,然 后 使 用 命 令 “ vim .config ” , 在 文 件 中 搜 索 關 鍵 詞 “ CONFIG_TOUCHSCREEN_GT9XX=y ” , 在
“CONFIG_TOUCHSCREEN_GT9XX=y”之后添加一行“CONFIG_TOPEET_LCD5X0=y”,添加完成之后,如下圖所示。如果用戶不使用 5 寸屏幕,則可以跳過這一步。

最后執行編譯命令“make zImage”。
生成內核鏡像的目錄也是“arch\arm\boot”。
例如:開發板是精英版,POP 核心板,需要支持 WiFi 模塊,那么缺省文件就需要配置為“config_for_android_pop_elite”。
開 發 板 是 精 英 版 , POP 核 心 板 , 不 支 持 WiFi 模 塊 , 那 么 缺 省 文 件 就 需 要 配 置 為“config_for_android_pop_no_wifi”。

8.4 編譯 Android4.4.4 文件系統
編譯 Android4.4.4,還缺少一個“javap”命令,使用命令:
update-alternatives --install "/usr/bin/javap" "javap" "/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1更新一下,如下圖所示。

編 譯 Android4.4 源 碼 的 時 候 , 一 定 要 注 意 內 核 源 碼 的 目 錄 。 在 和 Android 源 碼 目 錄“iTop4412_KK4.4_git ”的同一級目錄下,將內核源碼解壓。
例如,如下圖所示,作者將內核源碼和 Android4.4 源碼壓縮包放到“/home/iTOP- 4412-Android4.4”目錄下,解壓“iTop4412_KK4.4_git_xxx.tar.gz”和“iTop4412- android4.4-kernel_xxx.tar.gz”,Android 源碼解壓之后得到“iTop4412_KK4.4_git”和“kernel” 目錄。“iTop4412_KK4.4_git” 目錄下就是 Android 源碼 ,“kernel/iTop4412_Kernel_3.0”目錄下就是內核源碼。

另外在編譯 Android4.4 之前,必須成功編譯 Android4.4 對應的內核。
然后進入 Android4.4.4 源碼解壓后得到文件夾“iTop4412_KK4.4_git”中,使用命令“./build_android.sh”運行一鍵編譯腳本,開始編譯 Android4.4.4。
注意:編譯 Android4.4.4 必須保證給 Ubuntu 系統提供 3G 以上內存。這里“提供 3G 以上內存”的意思,不僅僅是指在 VMware Workstations 虛擬機中設置分配 3G 內存。例如,用戶在編譯的時候,PC 機的內存一共是 4G,在虛擬機中設置分配 3G 內存,但是在 Windows 系統下,開著 QQ,殺毒軟件,音樂播放器,瀏覽器等等,這樣在 Windows 下占用的內存就快 2G 了,那么虛擬機會自動調整到只占用 2G,甚至不到 2G 的內存,這樣是沒法編譯通過的。
正確的分配內存方法是,首先給虛擬機分配 3G 以上內存,然后在 Windows 下關掉盡量多的不必要的應用,關掉盡量多應用的后臺程序。
當然,如果用戶的 PC 是 8G 或者 16G 內存,隨意就成。
編譯完成之后,在文件夾“iTop4412_KK4.4_git/out/target/product/smdk4x12”中,生成鏡像“system.img”和“ramdisk-uboot.img”。
這里還需要注意的是,Android4.4.4 源碼需要占用較大的空間,用戶需要確認有足夠的空間才能夠成功編譯。Android4.0.3 編譯完成后總共大約占用 18G 的空間,Android4.4.4 編譯完成后總共占用大約 36G 的空間。
用戶完全按照步驟編譯錯誤,可以使用“df -l”查看一下盤符剩余空間還剩下多少,如果是已使用 100%,則是空間不足。

8.5 編譯早期 Android4.4.4 舊源碼
注意:本小節,介紹的舊源碼指的是“20170803”之前的早期源碼。
在網盤目錄中“iTOP4412 開發板資料匯總(不含光盤內容)\iTOP-4412 開發板系統源碼及鏡像(其他)\android_4.4.4 源碼以及對應 Kernel 源碼”中下載 Android4.4.4 的 文件系統,并通過 github 下載 uboot
(Android4.4 的 uboot 源碼和 Android4.0.3 完全一樣) 和 kernel 的源碼(參考附錄六)。

編譯 uboot
Android4.4.4 對應 uboot 的源碼,編譯器,參數配置,編譯腳本以及編譯參數和 Android4.0.3 的 uboot全部一模一樣。

編譯 Linux 內核
網盤下載 Android4.4.4 對應的源碼。在網盤“iTOP4412 開發板資料匯總(不含光盤內容)\iTOP-4412 開發板系統源碼及鏡像(其他)\android_4.4.4 源碼及鏡像”目錄下。
Android4.4.4 對應內核的編譯器和 Android4.0.3 的內核編譯器一模一樣。內核的編譯是組合式配置文件,基本的配置文件名是“config_for_android_YY”,YY 表示用下表所示的參數替代。

如上表所示,如果需要 Android4.4.4 支持 WiFi,則需要配置對應的參數。
編譯生成內核鏡像舉例:
和 Android4.0.3 內核一樣,如果需要編譯對應核心板的內核,首先使用 cp 命令將對應的配置文件覆蓋掉”.config”,然后在執行編譯命令“make zImage”。生成內核鏡像的目錄也是“arch”-->“arm”-->“boot”。

編譯 Android4.4.4 (文件系統部分)
Android4.4.4 源碼在網盤“iTOP-4412 開發板系統源碼及鏡像(其他)\android_4.4.4 源碼以及對應
Kernel 源碼”目錄中下載,編譯器和參數配置和 Android4.0.3 一模一樣。
更新環境 javap
編譯 Android4.4.4,還缺少一個“javap”命令,使用命令:“update-alternatives --install "/usr/bin/javap" "javap" "/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1”更新一下,如下圖所示。


源碼下載
內核的源碼也可以在 github 上下載,具體參考使用手冊附錄 6.2,附錄中有迅為 Android4.4 對應內核源碼 github 下載地址。
使用手冊附錄中有介紹 repo 下載 Android4.4.4 源碼的方法,但是從 2016 開始,repo 經常性的無法下載和使用。所以最好到迅為百度網盤中下載源碼(目錄參考使用手冊編譯章節),選取日期最近的目錄下載即可。
網盤中源碼包一般是 gz 后綴、7z 或者 rar 后綴。gz 后綴可以直接在 Ubuntu 下解壓; 7z 和 rar 后綴都是需要先在 windows 下解壓出 gz 后綴壓縮包,然后再在 Ubuntu 下解壓。
內核以及 Android 源碼路徑
編 譯 Android4.4.4 源 碼 的 時 候 , 一 定 要 注 意 內 核 源 碼 的 目 錄 。 在 和 Android 源 碼 目 錄“iTop4412_KK4.4_git”的同一級目錄下,新建一個 kernel 目錄,然后將內核源碼放到 kernel 目錄下,要使用迅為默認的文件名“iTop4412_Kernel_3.0”。
例如:在 Android4.4 的源碼目錄下,使用命令“ls ../kernel/iTop4412_Kernel_3.0/”,如下圖所示,內核的目錄才是正確的。

另外在編譯 Android4.4 之前,必須成功編譯 Android4.4 對應的內核。
然后進入 Android4.4.4 源碼解壓后得到文件夾“iTop4412_KK4.4”中,使用命令“./build_android.sh”運行一鍵編譯腳本,開始編譯 Android4.4.4。注意:編譯 Android4.4.4 必須保證給 Ubuntu 系統提供 3G 以上內存。這里“提供 3G 以上內存”的意思,不僅僅是指在 VMware Workstations 虛擬機中設置分配 3G 內存。例如,用戶在編譯的時候,PC 機的內存一共是 4G,在虛擬機中設置分配 3G 內存,但是在 Windows系統下,開著 QQ,殺毒軟件,音樂播放器,瀏覽器等等,這樣在 Windows 下占用的內存就快 2G 了, 那么虛擬機會自動調整到只占用 2G,甚至不到 2G 的內存,這樣是沒法編譯通過的。正確的分配內存方法是,首先給虛擬機分配 3G 以上內存,然后在 Windows 下關掉盡量多的不必要的應用,關掉盡量多應用的后臺程序。
當然,如果用戶的 PC 是 8G 或者 16G 內存,隨意就成。

如下圖所示,編譯完成。在文件夾“iTop4412_KK4.4/out/target/product/smdk4x12”中,生成鏡像
“system.img”和“ramdisk-uboot.img”。

這里還需要注意的是,Android4.4.4 源碼需要占用較大的空間,用戶需要確認有足夠的空間才能夠成功編譯。Android4.0.3 編譯完成后總共大約占用 18G 的空間,Android4.4.4 編譯完成后總共占用大約 36G 的空間,如下圖。

用戶完全按照步驟編譯錯誤,可以使用“df -l”查看一下盤符剩余空間還剩下多少,如下圖所示,如果是已使用 100%,則是空間不足。

內核源碼包是“iTop4412-android4.4-kernel_20180724.tar.gz”,一定要是 20180724 結尾的內核壓縮包才行,如果用戶使用的是老版本,則需要根據補丁文件添加代碼。
補丁包是網盤“iTOP4412 開發板資料匯總(不含光盤內容)\iTOP-4412 開發板系統源碼及鏡像(其他)\android_4.4.4 源 碼 以 及 對 應 Kernel 源 碼 \20180724\Android4.4-Source ” 目 錄 下 的 壓 縮 包“patch_elite4x4_lcd5x0.tar.gz”。
拷貝到內核源碼目錄下(一定要拷貝到內核源碼的目錄下),如下圖所示,使用命令“tar -vxfpatch_elite4x4_lcd5x0.tar.gz”解壓得到文件夾“patch_elite4x4_lcd5x0”,文件夾中有 5 個補丁文件,1 個腳本文件。

進入解壓得到的文件夾“patch_elite4x4_lcd5x0”,使用命令“ chmod 777 script_patch_elite4x4_lcd5.sh”修改腳本權限。
接著使用“./script_patch_elite4x4_lcd5.sh u”命令,到這一步就打完補丁了,如下圖所示。

如果需要返回到更新補丁前的狀態,則使用命令“./script_patch_elite4x4_lcd5.sh r”。
用 戶 在 “ iTop4412-android4.4-kernel_20180724.tar.gz ” 原 始 內 核 的 基 礎 上 , 運 行 了“./script_patch_elite4x4_lcd5.sh u”N 次,則可以使用命令“./script_patch_elite4x4_lcd5.sh r”同樣也是 N 次,則可以返回到打補丁前的狀態。
更多內容:嗶哩嗶哩→搜索北京迅為

本文地址:http://m.qingdxww.cn/thread-771673-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 无限免费动漫看片的 | 天天色综合三 | 这里只有精品在线播放 | 亚洲福利影视 | 99久热这里只有精品免费 | 成人黄色激情视频 | 国产欧美日本亚洲精品五区 | 国产成人精品久久免费动漫 | 午夜影院在线观看 | 一区二区三区在线免费看 | 欧美日韩另类国产 | 亚洲欧美成人影院 | h肉动漫在线观看 | 日韩欧美一区二区不卡 | 1024免费在线观看 | 亚洲欧美一区二区三区在线播放 | 国产成人精品免费久久久久 | 日韩欧美一区二区三区免费观看 | 国产精品玖玖玖在线观看 | 欧美网址在线观看 | 色播艾小青国产专区在线播放 | 国产成人一区二区精品非洲 | 99在线精品视频在线观看 | 大香樵伊在线 | 婷婷综合网站 | 99久久综合狠狠综合久久 | 欧美最爽乱淫视频播放黑人 | 欧美黑人xxxxx性受 | 九九热在线视频免费观看 | 色在线视频免费 | 欧美成人在线视频 | 四大菩萨谁最厉害排第一位 | 国产免费观看青青草原网站 | 97视频在线观看免费 | 国产免费资源高清小视频在线观看 | 国产极品视频 | 国产福利午夜波多野结衣 | 午夜91视频 | 成年男女免费视频观看性 | 国精品一区二区三区 | 国内精品久久久久久久999下 |