国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux驅(qū)動開發(fā)】編譯Android12源碼

這篇具有很好參考價值的文章主要介紹了【Linux驅(qū)動開發(fā)】編譯Android12源碼。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 簡單描述

  1. 基于訊為電子rk3568教程

2. 準(zhǔn)備資料

  • rk_android12.0_sdk_20220720.tar.gz

3. 編譯Android12

  1. 解壓
tar -vxf rk_android12.0_sdk_20220720.tar.gz
  1. 設(shè)置屏幕配置
rk_android12.0_sdk/kernel-4.19/arch/arm64/boot/dts/rockchip/topeet_screen_choose.dtsi
  1. 整體編譯 Android 固件
source javaenv.sh
java -version
  1. 使能編譯環(huán)境
source build/envsetup.sh
lunch rk3568_s-userdebug
  1. 開始整體編譯
./build.sh -AUCKu

rockdev/Image-rk3568_s // 編譯成功鏡像存放位置

  1. 單獨編譯u-boot (方法一)
./build.sh -U
  • 編譯完成后在 u-boot 目錄會生成 rk356x_spl_loader_v1.13.112.bin 文件、uboot.img
    文件、 resource.img 三個鏡像文件

  • 同 時 編 譯 成 功 后 會 將 rk356x_spl_loader_v1.13.112.bin 、 uboot.img 拷 貝
    到 rockdev/Image-rk3568_s 目錄下,rk356x_spl_loader_v1.13.112 會改名為
    MiniLoaderAll.bin。 MiniLoaderAll.bin 也就是一級 loader,只需要將 MiniLoaderAll.bin 和 uboot.img 燒寫到開發(fā)板即 可更新 uboot。

  1. 單獨編譯u-boot (方法二)
cd u-boot/
./make.sh rk3568
  • 這樣編譯后會在 uboot 目錄下生成 uboot.img 和 rk356x_spl_loader_v1.13.112.bin,但是不會 拷 貝 到 rockdev/Image-rk3568_s 下 面 , 所 以 需 要 燒 寫 uboot 目 錄 下 的 uboot.img 和rk356x_spl_loader_v1.13.112.bin, 燒 寫 時 將 rk356x_spl_loader_v1.13.112.bin 重 命 名 為MiniLoaderAll.bin,再燒寫。
  1. 編譯 Android 內(nèi)核(很慢)
./build.sh -CKA

編譯后會在 rockdev/Image-rk3568_s 目錄下生成 boot.img,boot.img 為內(nèi)核鏡像。boot.img
鏡像里面包含了設(shè)備樹鏡像。所以燒寫 boot.img

  1. 編譯 Android 內(nèi)核(快)

cd kernel-4.19 // 訊為提供的sdk默認(rèn)有 makekernel.sh,沒有創(chuàng)建,內(nèi)容如下

make ARCH=arm64 CC=../prebuilts/clang/host/linux-x86/clang-r416183b/bin/clang
LD=../prebuilts/clang/host/linux-x86/clang-r416183b/bin/ld.lld rockchip_defconfig
android-11.config && make ARCH=arm64 CC=../prebuilts/clang/host/linux-x86/clang-r416183b/bin/clang LD=../prebuilts/clang/host/linux-x86/clang-r416183b/bin/ld.lld BOOT_IMG=../rockdev/Image-rk3568_s/boot.img rk3568-evb1-ddr4-v10.img
./makekernel.sh

BOOT_IMG 是指整編 Android 源碼之后在 rockdev 目錄下生成的 boot.img,所以在單獨編 譯 Android內(nèi)核之前,一定要整編 Android 源碼。整編 Android 源碼生成的 rockdev 目錄下的 boot.img 鏡像里面不僅僅只有 kernel 和 resource,還有其他文件。當(dāng)我們修改了內(nèi)核源碼并單 獨編譯 Android 內(nèi)核時,kernel 和resource 發(fā)生了改變,這時候需要指定一個 boot.img,然后 將新編譯的 kernel 和 resource 覆蓋進(jìn)去。打包完成之后,在 kernel 目錄下會有新 boot.img 鏡像 生成,就可以把這個 boot.img鏡像單獨燒寫到開發(fā)板中進(jìn)行調(diào)試了 如果不指定 BOOT_IMG,會在下載鏡像之后,系統(tǒng)跑進(jìn) recovery 模式,而不是進(jìn)入正常 的啟動流程 rk3568-evb1-ddr4-v10.img 的意思是指定所使用的設(shè)備樹 DTS;打包完后,在 kernel 目錄有 boot.img 鏡像生成,就可以把這個 boot.img 鏡像單獨燒入到 機(jī)器中進(jìn)行調(diào)試了。

  1. 編譯 Android 文件系統(tǒng)
vim build.sh
:set number!
# make installclean
./build.sh -A

編譯完成后鏡像文件會在 rockdev/Image-rk3568_s 目錄下生成 super.img,單獨燒寫super.img 即可

各種鏡像解釋如下:

  • boot.img: 包含 kernel.img 和 resource.img 鏡像文件
  • boot-debug.img: 與 boot.img 的差別是 user 固件可以燒寫這個 boot.img 進(jìn)行
    root權(quán)限操作
  • config.cfg: 燒寫工具的配置文件,可以直接導(dǎo)入燒寫工具顯示需要燒寫的選項。
  • MiniLoaderAll.bin: 包含一級 loader。
  • misc.img: 包含 recovery-wipe 開機(jī)標(biāo)識信息,燒寫后會進(jìn)行 recovery。
  • parameter.txt: 包含分區(qū)信息。
  • pcba_small_misc.img : 包含 pcba 開機(jī)標(biāo)識信息,燒寫后會進(jìn)入簡易版 pcba 模式。
  • pcba_whole_misc.img: 包含 pcba 開機(jī)標(biāo)識信息,燒寫后會進(jìn)入完整版 pcba 模式
  • recovery.img: 包含 recovery-ramdis、 kernel、 dtb
  • super.img: 包含 odm、 product、 vendor、 system、 system_ext 分區(qū)內(nèi)容。
  • trust.img: 包含 BL31、 BL32 RK3566/RK3568 沒有生成這個固件, 不需要燒寫
  • uboot.img: 包含 uboot 固件
  • vbmeta.img: 包含 avb 校驗信息, 用于 AVB 校驗
  • update.img: 包含以上需要燒寫的 img 文件, 可以用于工具直接燒寫整個固件包。
  1. 編譯 Android 模塊

再安卓目錄下運行以下指令,把mm添加到環(huán)境中

source javaenv.sh
source build/envsetup.sh
lunch rk3568_s-userdebug
ls ~/Android/rk_android12.0_sdk/out/target/product/rk3568_s/vendor/lib/hw/audio.primary.rk30board.so
  1. 打包 update.img
./build.sh -u

打包完成會在 rockdev/Image-rk3568_s 目錄下生成 update.img 鏡文章來源地址http://www.zghlxwxcb.cn/news/detail-753010.html

到了這里,關(guān)于【Linux驅(qū)動開發(fā)】編譯Android12源碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【android12-linux-5.1】【ST芯片】驅(qū)動與HAL移植后數(shù)據(jù)方向異常

    【android12-linux-5.1】【ST芯片】驅(qū)動與HAL移植后數(shù)據(jù)方向異常

    ST的傳感器驅(qū)動與HAL一直成功后,能拿到數(shù)據(jù)了,但是設(shè)備是橫屏,系統(tǒng)默認(rèn)是豎屏。就會出現(xiàn)屏幕自動轉(zhuǎn)動時方向是錯的的情況,設(shè)備橫立展示的是豎屏,設(shè)備豎立展示的是橫屏。 這個是PCB上設(shè)計的傳感器貼片方向和橫屏不一致導(dǎo)致的,只需要在HAL層旋轉(zhuǎn)矩陣就行。利用地

    2024年02月11日
    瀏覽(21)
  • 【IMX6ULL驅(qū)動開發(fā)學(xué)習(xí)】12.Linux驅(qū)動之設(shè)備樹

    【IMX6ULL驅(qū)動開發(fā)學(xué)習(xí)】12.Linux驅(qū)動之設(shè)備樹

    承接上一篇博客 【IMX6ULL驅(qū)動開發(fā)學(xué)習(xí)】11.驅(qū)動設(shè)計之面向?qū)ο骭分層思想(學(xué)習(xí)設(shè)備樹過渡部分) 代碼獲?。?https://gitee.com/chenshao777/imx6-ull_-drivers 我后面將三個層合并了(實際上只有前兩層),合并成一個dev_drv.c了,暫時沒有加GPIO操作,只是個框架 合并前的代碼在 11.butt

    2024年02月13日
    瀏覽(48)
  • Docker系列(1)安裝Linux系統(tǒng)編譯Android源碼

    Docker系列(1)安裝Linux系統(tǒng)編譯Android源碼

    目錄 一、開發(fā)環(huán)境搭建 1.Windows docker環(huán)境安裝 2.配置ubuntu18.04系統(tǒng) 2.0 準(zhǔn)備工作 2.1 安裝ubuntu18.04 2.2 安裝常用工具 2.3 安裝rk3568環(huán)境編譯工具 2.4 新增用戶 2.5 注意避坑!! 二、下載編譯 Android_SDK 3.1 第一步,下載 SDK 3.2 第二步,更新 SDK 3.3 第二步,編譯 SDK 手動編譯 iCore-3568JQ An

    2024年02月11日
    瀏覽(22)
  • 【IMX6ULL驅(qū)動開發(fā)學(xué)習(xí)】12.Linux SPI驅(qū)動實戰(zhàn):DAC驅(qū)動設(shè)計流程

    【IMX6ULL驅(qū)動開發(fā)學(xué)習(xí)】12.Linux SPI驅(qū)動實戰(zhàn):DAC驅(qū)動設(shè)計流程

    基礎(chǔ)回顧:?【IMX6ULL驅(qū)動開發(fā)學(xué)習(xí)】10.Linux I2C驅(qū)動實戰(zhàn):AT24C02驅(qū)動設(shè)計流程_阿龍還在寫代碼的博客-CSDN博客 【IMX6ULL驅(qū)動開發(fā)學(xué)習(xí)】11.Linux之SPI驅(qū)動_阿龍還在寫代碼的博客-CSDN博客 查看芯片手冊,有兩種DAC數(shù)據(jù)格式,12位和16位,這里選用16位數(shù)據(jù)(2字節(jié))編寫驅(qū)動。 ?重點在

    2024年02月11日
    瀏覽(28)
  • 迅為iTOP-4412之Android 4.0/Linux源碼編譯

    迅為iTOP-4412之Android 4.0/Linux源碼編譯

    搭建配置好 ? uboot 、 Linux3.0 和 Android4.0的 編譯環(huán)境,完整搭建配置過程可參照下述博文: 迅為iTOP-4412之Android 4.0系統(tǒng)編譯環(huán)境的搭建(完整版)-CSDN博客 ?https://blog.csdn.net/Eva20192020/article/details/134668004?spm=1001.2014.3001.5502 提示:虛擬機(jī)中解壓完后的原打包文件建議刪除,可以節(jié)

    2024年02月03日
    瀏覽(21)
  • 【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】驅(qū)動移植

    【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】驅(qū)動移植

    一、環(huán)境介紹 RK3588主板搭載Android12操作系統(tǒng),內(nèi)核是Linux5.10,使用ST的六軸傳感器LSM6DSR芯片。 二、芯片介紹 LSM6DSR是一款加速度和角速度(陀螺儀)六軸傳感器,還內(nèi)置了一個溫度傳感器。該芯片可以選擇I2C,SPI通訊,還有可編程終端,可以后置攝像頭等設(shè)備,功能是很強(qiáng)大

    2024年02月09日
    瀏覽(17)
  • AOSP 源碼編譯android 12

    AOSP 源碼編譯android 12

    目錄 一、python安裝? ? ? a. python2安裝 ? ? b. python3安裝 二、repo管理多個git ? ?a.第一步,? ?新建一個空白文件夾保存repo引導(dǎo)文件,并包含你的路徑 ? ?b.下載啟動器 ?c.將git-repo中的repo文件復(fù)制到 1 創(chuàng)建的.bin目錄中 ?d.修改權(quán)限 e. 執(zhí)行版本檢查 三、初始化工程 ? a.執(zhí)行創(chuàng)建文

    2024年01月16日
    瀏覽(27)
  • Qt5.12.6配置Android Arm開發(fā)環(huán)境(Linux)

    Qt5.12.6配置Android Arm開發(fā)環(huán)境(Linux)

    1.安裝jdk 2.安裝android studio 3.安裝sdk 與ndk? 設(shè)置代理 ?安裝SDK工具 ?安裝SDK Platform 安裝QT? ?選擇JDK 1.8安裝路徑,SDK與NDK路徑 ?如出現(xiàn)Platform SDK或者Platform Build Tools未安裝,點擊Update Installed ?配置成功后可看到ARMv7與AMD-v8a kits Qt Version也可看到ARMv7與AMD-v8a? ?如果 有安裝了CMake,也

    2024年01月21日
    瀏覽(35)
  • 國內(nèi)鏡像:極速下載編譯WebRTC源碼(For Android/Linux/IOS)(二十四)

    國內(nèi)鏡像:極速下載編譯WebRTC源碼(For Android/Linux/IOS)(二十四)

    簡介: CSDN博客專家,專注Android/Linux系統(tǒng),分享多mic語音方案、音視頻、編解碼等技術(shù),與大家一起成長! 優(yōu)質(zhì)專欄: Audio工程師進(jìn)階系列 【 原創(chuàng)干貨持續(xù)更新中…… 】?? 優(yōu)質(zhì)專欄: 多媒體系統(tǒng)工程師系列 【 原創(chuàng)干貨持續(xù)更新中…… 】?? 人生格言: 人生從來沒有捷徑

    2024年01月17日
    瀏覽(20)
  • FFmpeg開發(fā)筆記(十六)Linux交叉編譯Android的OpenSSL庫

    ? 《FFmpeg開發(fā)實戰(zhàn):從零基礎(chǔ)到短視頻上線》一書的例程主要測試本地的音視頻文件,當(dāng)然為了安全起見,很多網(wǎng)絡(luò)視頻都采用了https地址。FFmpeg若要訪問https視頻,就必須集成第三方的openssl庫,但編譯FFmpeg時卻默認(rèn)關(guān)閉了openssl。為了讓App能夠播放采用https的在線視頻,需要

    2024年04月22日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包