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

RK3568平臺 Android13 GKI架構(gòu)開發(fā)方式

這篇具有很好參考價值的文章主要介紹了RK3568平臺 Android13 GKI架構(gòu)開發(fā)方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一.GKI簡介

GKI:Generic Kernel Image 通用內(nèi)核映像。
Android13 GMS和EDLA認證的一個難點是google強制要求要支持GKI。GKI通用內(nèi)核映像,是google為了解決內(nèi)核碎片化的問題,而設(shè)計的通過提供統(tǒng)一核心內(nèi)核并將SoC和板級驅(qū)動從核心內(nèi)核移至可加載模塊中。核心內(nèi)核為驅(qū)動模塊提供了穩(wěn)定的內(nèi)核模塊接口,模塊驅(qū)動和核心內(nèi)核可以獨立進行更新。內(nèi)核接口可以通過upstream的方式進行擴展。 Soc和板級廠商在驅(qū)動開發(fā)時需要使用已經(jīng)定義的內(nèi)核接口,如果要新加核心內(nèi)核接口需要提交給google,這個周期會比較長,所以要提前做好開發(fā)準備。

二.什么產(chǎn)品需要使用GKI

使用Android13且需要過GMS認證和EDLA認證的產(chǎn)品。

使用Android12 的RK3588和RK3588S的需要過GMS認證和EDLA認證的產(chǎn)品。

不過GMS認證和EDLA認證的產(chǎn)品不強制要求使用GKI。

三.碎片化的代價

1.安全更新需要耗費大量人力:

Android 安全公告 (ASB)?中引用的安全補丁程序必須向后移植到每個設(shè)備內(nèi)核中。但是,由于存在內(nèi)核碎片化問題,向正常使用的 Android 設(shè)備傳播安全修復(fù)的代價非常之高。

2.很難合并長期支持的更新:

長期支持 (LTS) 版本包含安全修復(fù)和其他重大問題修復(fù)。事實證明,使用最新的 LTS 版本是提供安全修復(fù)的最有效方式。我們發(fā)現(xiàn),ASB 報告的內(nèi)核安全問題中有 90% 都已在保持最新狀態(tài)的 Pixel 設(shè)備上得到修復(fù)。

3.妨礙 Android 平臺進行版本升級

由于碎片化問題,很難向正常使用的設(shè)備添加需要更改內(nèi)核的 Android 新功能。Android 框架代碼必須假設(shè)支持的內(nèi)核版本多達 5 個,并且沒有針對新的平臺版本進行任何內(nèi)核更改(Android 10 支持內(nèi)核版本 3.18、4.4、4.9、4.14 和 4.19;在某些情況下,這些版本自 2017 年 Android 8 發(fā)布以來還未添加新功能)。

4.很難將內(nèi)核更改貢獻回上游 Linux

對內(nèi)核進行完所有更改后,大多數(shù)旗艦設(shè)備附帶的內(nèi)核版本已經(jīng)至少存在 18 個月了。例如,kernel.org 于 2017 年 11 月發(fā)布了 4.14 版內(nèi)核,而首批使用 4.14 版內(nèi)核的 Android 手機于 2019 年春季才發(fā)布。

上游內(nèi)核發(fā)布與產(chǎn)品發(fā)布之間的這種長時間延遲導(dǎo)致 Android 社區(qū)很難將所需的功能和驅(qū)動程序饋送到上游內(nèi)核中,因此解決碎片化問題并非易事。

RK3568平臺 Android13 GKI架構(gòu)開發(fā)方式,瑞芯微,驅(qū)動開發(fā)

四.GKI和非GKI的差別

通用內(nèi)核boot.img:

GKI 非GKI
由google定期發(fā)布boot.img,代碼不能自己修改 由RK提供內(nèi)核源碼編譯,可以自由修改

驅(qū)動模塊:

GKI 非GKI
以KO的形式加載,調(diào)用的內(nèi)核接口必需是google發(fā)布的boot.img里面包含的 內(nèi)嵌在boot中,由RK提供內(nèi)核源碼編譯,可以自由修改和添加內(nèi)核接口

kernel代碼:

GKI 非GKI
RK發(fā)布的kernel源碼僅用于編譯驅(qū)動模塊的KO RK發(fā)布的kernel源碼用于完整的內(nèi)核和模塊驅(qū)動的編譯,模塊以.o的形式內(nèi)嵌編譯

?

五.Rockchip GKI編譯

uboot需要打開AB配置:

~/a2_Android13_sdk/u-boot$ git diff
diff --git a/configs/rk3568_defconfig b/configs/rk3568_defconfig
index fbd9820acc..e23e438792 100644
--- a/configs/rk3588_defconfig
+++ b/configs/rk3588_defconfig
@@ -207,6 +207,7 @@ CONFIG_RSA_N_SIZE=0x200
CONFIG_RSA_E_SIZE=0x10
CONFIG_RSA_C_SIZE=0x20
CONFIG_SHA512=y
CONFIG_LZ4=y
CONFIG_LZMA=y
CONFIG_SPL_GZIP=y
@@ -220,3 +221,4 @@ CONFIG_RK_AVB_LIBAVB_USER=y
CONFIG_OPTEE_CLIENT=y
CONFIG_OPTEE_V2=y
CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION=y
+CONFIG_ANDROID_AB=y

增加板級的KO load文件
Rockchip的GKI框架里面加載KO的load文件有區(qū)分芯片平臺驅(qū)動和板級驅(qū)動,所以在開發(fā)新產(chǎn)品的時候需要增加板級驅(qū)動的KO load文件,load文件以device下面產(chǎn)品目錄中定義PRODUCT_KERNEL_DTS的dts的名字命名,并且保存在mkcombinedroot/res/board/下面,如:

wlq@sys2_206:~/a0_Android13_gki$ tree mkcombinedroot/res/board/
mkcombinedroot/res/board/
├── px30-mini-evb-ddr3-v11-avb.load
├── rk3326-863-lp3-v10-rkisp1.load
├── rk3326-evb-lp3-v10-avb.load
├── rk3399-evb-ind-lpddr4-android-avb.load
├── rk3399-evb-ind-lpddr4-v13-android-avb.load
├── rk3562-evb1-lp4x-v10.load
├── rk3562-rk817-tablet-v10.load
├── rk3566-evb2-lp4x-v10.load
├── rk3566-rk817-tablet.load
├── rk3568-evb1-ddr4-v10.load
├── rk3588-evb1-lp4-v10.load
├── rk3588-evb7-lp4-v10.load
└── rk3588s-tablet-v10.load

板級的KO load文件里面放的是板級的驅(qū)動模塊,如:觸摸屏、camera、sensor等芯片平臺以為的驅(qū)動模塊,如:

wlq@sys2_206:~/a0_Android13_gki$ cat mkcombinedroot/res/board/rk3588-evb1-lp4-v10.load
cw2015_battery.ko
imx415.ko
ov50c40.ko
ov13855.ko
gt1x-ts.ko
snd-soc-es8323.ko

Android的device產(chǎn)品目錄下配置GKI選項:

~/a2_Android13_sdk/device/rockchip/rk3588$ git diff
diff --git a/rk3588_t/BoardConfig.mk b/rk3588_t/BoardConfig.mk
old mode 100644
new mode 100755
index 50da541..06da5f3
--- a/rk3588_t/BoardConfig.mk
+++ b/rk3588_t/BoardConfig.mk
@@ -15,10 +15,21 @@
 #
 include device/rockchip/rk3588/BoardConfig.mk
 BUILD_WITH_GO_OPT := false
+BOARD_BUILD_GKI := true

-# AB image definition
-BOARD_USES_AB_IMAGE := false
-BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE := false
+ifeq ($(strip $(BOARD_BUILD_GKI)), true)
+    #for gki
+    # AB image definition
+    BOARD_USES_AB_IMAGE := true
+    BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE := true
+    PRODUCT_KERNEL_CONFIG := gki_defconfig rockchip_gki.config
+else
+    BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE := false
+    BOARD_USES_AB_IMAGE := false
+    PRODUCT_KERNEL_CONFIG := rockchip_defconfig android-13.config
+endif

 BOARD_GRAVITY_SENSOR_SUPPORT := true
 BOARD_COMPASS_SENSOR_SUPPORT := true
@@ -26,14 +37,21 @@ BOARD_SENSOR_COMPASS_AK8963-64 := true
 BOARD_GYROSCOPE_SENSOR_SUPPORT := true
 BOARD_PROXIMITY_SENSOR_SUPPORT := true
 BOARD_LIGHT_SENSOR_SUPPORT := true
 ifeq ($(strip $(BOARD_USES_AB_IMAGE)), true)
     include device/rockchip/common/BoardConfig_AB.mk
     TARGET_RECOVERY_FSTAB := device/rockchip/rk3588/rk3588_t/recovery.fstab_AB
 endif
-
+ifeq ($(strip $(BOARD_BUILD_GKI)), true)
+    #for gki
+    BOARD_SUPER_PARTITION_SIZE := 4294967296
+    BOARD_ROCKCHIP_DYNAMIC_PARTITIONS_SIZE := $(shell expr $(BOARD_SUPER_PARTITION_SIZE) - 4194304)
+endif
 PRODUCT_UBOOT_CONFIG := rk3588
 PRODUCT_KERNEL_DTS := rk3588-evb1-lp4-v10
 BOARD_GSENSOR_MXC6655XA_SUPPORT := true
 BOARD_CAMERA_SUPPORT_EXT := true

完整編譯方式與非GKI的一樣:文章來源地址http://www.zghlxwxcb.cn/news/detail-761871.html

source  build/envsetup.sh
lunch rk3588_t-userdebug
./build.sh -ACUKup

到了這里,關(guān)于RK3568平臺 Android13 GKI架構(gòu)開發(fā)方式的文章就介紹完了。如果您還想了解更多內(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īng)查實,立即刪除!

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

相關(guān)文章

  • RK3568 Android 13 系統(tǒng)裁剪

    RK3568 Android 13 系統(tǒng)裁剪

    android 13 系統(tǒng)裁剪是個大工程,裁剪也是需要大量的測試,才能保證系統(tǒng)的穩(wěn)定性,以下是RK官方給出的裁剪方案,有興趣的可以去看一下,對裁剪不是要求過高的可以根據(jù)官方的建議,對系統(tǒng)進行裁剪: Rockchip Android平臺內(nèi)存優(yōu)化及系統(tǒng)裁剪_build_with_go_opt-CSDN博客 然后官方的裁

    2024年02月22日
    瀏覽(91)
  • Rockchip Android13 GKI開發(fā)指南

    Rockchip Android13 GKI開發(fā)指南

    1.1 什么是GKI GKI:Generic Kernel Image 通用內(nèi)核映像。 Android13 GMS和EDLA認證的一個難點是google強制要求要支持GKI。GKI通用內(nèi)核映像,是google為了解決內(nèi)核碎片化的問題,而設(shè)計的通過提供統(tǒng)一核心內(nèi)核并將SoC和板級驅(qū)動從核心內(nèi)核移至可加載模塊中。核心內(nèi)核為驅(qū)動模塊提供了穩(wěn)

    2024年02月02日
    瀏覽(62)
  • 【武漢萬象奧科】瑞芯微RK3568芯片

    【武漢萬象奧科】瑞芯微RK3568芯片

    ▎產(chǎn)品展示 RK3568核心板是基于Rockchip的RK3568設(shè)計的一款高性能核心板。該處理器集成了最新的高性能CPU、GPU,并擁有豐富的接口,非常適用于工業(yè)自動化控制、人機界面、中小型醫(yī)療分析器、電力等多種行業(yè)應(yīng)用。 ? ▎RK3568產(chǎn)品特點 ▎ 高性能處理器 ○ 采用四核A55架構(gòu)CPU,

    2024年02月06日
    瀏覽(88)
  • 瑞芯微RK3568驅(qū)動配置之十串口

    基于飛凌的開發(fā)板設(shè)計,這里需要使用到RK3568的串口,開發(fā)板只開放了UART2、UART3、UART4、UART5、UART8。查看文檔,準備配置UART0、UART6、UART7、UART9。一共9個串口使用。剩下的一個串口被網(wǎng)口1占用,暫時不修改。 修改設(shè)備樹DTS文件配置。 地址: /home/forlinx/3568/OK3568-linux-source/k

    2024年02月13日
    瀏覽(89)
  • 瑞芯微rk3568移植openharmony3.1(鴻蒙)

    openharmony的移植推薦使用Ubuntu18.04,需要安裝的依賴庫文件。 獲取openharmony官方源碼。 下載完成后,可以改一下調(diào)試口的波特率,因為默認的是1500000,串口工具會有亂碼,或者出現(xiàn)無法輸入的問題,修改為115200??梢灾苯有薷哪_本文件。腳本文件有規(guī)則限制,只改一下波特率

    2024年02月11日
    瀏覽(91)
  • 史上最全! 瑞芯微RK3568核心板評估板資源分享!

    史上最全! 瑞芯微RK3568核心板評估板資源分享!

    高性能處理器 :采用四核A55架構(gòu)CPU,G52 GPU;內(nèi)置NPU,可提供1T算力 高可靠性設(shè)計 :支持DDR及CPU Cache全鏈路ECC 內(nèi)置自研ISP圖像處理器 :8M@30fps處理能力,強大的HDR功能,支持畸變矯正、去霧、噪點消除等功能 豐富的顯示、外設(shè)及拓展接口 :內(nèi)置HDMI/eDP/LVDS/MIPI/RGB/T-CON顯示接口

    2023年04月27日
    瀏覽(91)
  • ARM應(yīng)用之瑞芯微RK3568上使用QT+Opencv

    手上有一塊RK3568板子,正好官方SDK提供了opencv和QT的環(huán)境,就整個QT+OPENCV的簡單應(yīng)用玩玩。老鐵們可以從整個簡單示例開始疊加復(fù)雜功能了。 配置編譯文件 直接在qt的配置文件中添加opencv庫即可。 處理圖像 這里直接使用USB采集的圖像進行處理。通過ioctl配置參數(shù)。就取了個

    2024年02月13日
    瀏覽(139)
  • RK3588平臺開發(fā)系列講解(USB篇)Linux Android USB軟件架構(gòu)

    RK3588平臺開發(fā)系列講解(USB篇)Linux Android USB軟件架構(gòu)

    平臺 內(nèi)核版本 安卓版本 RK3588 Linux 5.10 Android 12

    2024年02月09日
    瀏覽(24)
  • RK3568平臺開發(fā)系列講解(調(diào)試篇)如何跟蹤系統(tǒng)事件

    RK3568平臺開發(fā)系列講解(調(diào)試篇)如何跟蹤系統(tǒng)事件

    沉淀、分享、成長,讓自己和他人都能有所收獲!?? ??本文我們要介紹 Linux 上兩個非常有用的工具: ltrace 和 strace 。在分析軟件的運行過程、調(diào)試疑難 Bug 、執(zhí)行性能分析和調(diào)優(yōu)等方面,它們都是非常有用的輔助工具。另外,我們還會介紹與之相關(guān)的一個功能強大的系統(tǒng)調(diào)

    2023年04月18日
    瀏覽(105)
  • RK3568平臺開發(fā)系列講解(音視頻篇)RTMP 推流

    RK3568平臺開發(fā)系列講解(音視頻篇)RTMP 推流

    ??返回專欄總目錄 沉淀、分享、成長,讓自己和他人都能有所收獲!?? ??目前常見的視頻監(jiān)控和視頻直播都是使用了 RTMP 、 RTSP 、 HLS 、 MPEG-DASH 、 WebRTC 流媒體傳輸協(xié)議等。 RTSP (Real-Time Streaming Protocol):實時流傳輸協(xié)議,用于控制媒體服務(wù)器上的實時流傳輸,支持音頻

    2024年02月05日
    瀏覽(95)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包