国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

rk3576 android15平臺camera編譯配置都做了什么?

jf_44130326 ? 來源:Linux1024 ? 2026-03-06 17:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

該文件是瑞芯微(Rockchip)Android平臺下相機子系統的核心編譯配置Makefile,屬于Android Build System的關鍵組成部分,作用是根據編譯環境的動態條件(SDK版本、芯片平臺、產品類型),實現相機相關配置文件、固件、IQ參數文件的條件化拷貝,以及相機專屬庫的編譯打包,最終將這些文件部署到開發板的system/vendor分區,是相機硬件與軟件適配的核心配置橋梁。

本文將從核心作用、編譯條件維度、分模塊執行邏輯、編譯部署流程文件/庫匯總五個維度展開分析,并配套流程圖和表格。

一、文件核心作用

1.動態確定相機基礎文件根路徑:根據Android SDK版本區分camera/etccamera_v3/etc,適配不同Android版本的相機文件目錄結構;

2.條件化文件拷貝:按產品類型(無相機的ATV/VR等)、芯片平臺rk3528等專屬芯片)、SDK版本Android8.0+/低版本)實現文件拷貝的過濾和分區選擇;

3.芯片專屬ISP IQ文件適配:為瑞芯微不同芯片(rk1126/rk3588等)匹配對應版本的ISP圖像參數文件,決定相機成像效果;

4.庫文件編譯打包:指定CPU端人臉檢測庫的編譯,將其加入系統鏡像打包列表;

5.適配Android分區架構:嚴格區分system/vendor分區,遵循Android 8.0+的廠商文件與系統文件分離的設計規范。

二、關鍵編譯條件維度

該文件的所有執行邏輯均基于三個核心條件的組合判斷,是瑞芯微為適配多芯片、多Android版本、多產品形態設計的靈活編譯策略,條件詳情如下表:

條件類型

判斷閾值/匹配值

對應Android版本/硬件/產品

核心作用

PLATFORM_SDK_VERSION

≥28API28/ ≥26API26

≥28=Android9.0≥26=Android8.0

確定文件根路徑和目標分區

TARGET_BOARD_PLATFORM_PRODUCT

atv/vr/stbvr

安卓電視/VR/機頂盒VR

過濾無相機模塊的產品

TARGET_BOARD_PLATFORM

rk3528/rk1126/rk356x/rk3588

瑞芯微各系列芯片

芯片專屬文件/ISP IQ文件適配

關鍵背景Android 8.0API26)開始引入vendor分區,將廠商(瑞芯微)專屬文件從system分區分離,提升系統兼容性和可維護性;Android9.0API28)對相機框架做了細節調整,因此瑞芯微區分了cameracamera_v3兩個文件目錄。

三、分模塊執行邏輯

文件按路徑確定基礎文件拷貝過濾分區拷貝→IQ文件拷貝庫編譯的順序執行,每個模塊相互關聯且基于條件判斷,以下是逐模塊詳細解析。

模塊1:動態確定相機基礎文件根路徑(CUR_PATH

根據Android SDK版本是否≥28,確定相機配置文件、固件的源碼根路徑,是后續所有文件拷貝的基礎。

ifeq(1,$(strip$(shellexpr$(PLATFORM_SDK_VERSION)>= 28)))CUR_PATH :=$(TOP)/hardware/rockchip/camera/etc # Android9.0+elseCUR_PATH :=$(TOP)/hardware/rockchip/camera_v3/etc# Android9.0以下endif

?$(TOP)Android源碼根目錄;

?區分camera/camera_v3:瑞芯微對不同Android版本相機框架的適配,camera_v3對應早期相機3.0框架,camera為高版本優化后的框架。

模塊2:基礎文件拷貝的雙層過濾

通過產品類型芯片平臺做雙層過濾,跳過無相機模塊/專屬適配芯片的基礎文件拷貝,減少無效編譯。

過濾1:產品類型過濾

ifeq($(filteratv vr stbvr, $(strip$(TARGET_BOARD_PLATFORM_PRODUCT))), )# 非ATV/VR/STBVR產品,執行后續拷貝endif

?atv/vr/stbvr:無相機硬件模塊的產品形態(安卓電視、VR設備、機頂盒VR),無需拷貝相機基礎文件;

?filterMakefile內置函數,匹配指定字符,無匹配則執行后續邏輯。

過濾2:芯片平臺過濾

ifeq($(filterrk3528, $(strip$(TARGET_BOARD_PLATFORM))), )# 非rk3528芯片,執行后續拷貝endif

?rk3528:瑞芯微該款芯片有單獨的相機配置文件適配,因此跳過通用基礎文件拷貝,避免文件沖突。

模塊3:按SDK版本實現分分區基礎文件拷貝

這是文件的核心拷貝邏輯,根據SDK是否≥26Android8.0),將相機基礎文件拷貝到vendorsystem分區,同時使用Android構建系統的遞歸拷貝函數實現全目錄文件復制。

核心語法:find-copy-subdir-files

該函數是Android Build System的內置函數,作用是遞歸查找源目錄下的所有文件,按原目錄結構拷貝到目標目錄,參數含義:

$(call find-copy-subdir-files, 匹配規則, 源目錄, 目標目錄)#示例:$(call find-copy-subdir-files,*,$(CUR_PATH)/firmware,$(TARGET_COPY_OUT_VENDOR)/firmware)#*:匹配所有文件;遞歸拷貝firmware下所有文件到vendor/firmware

分支1SDK≥26Android8.0+拷貝到vendor分區

Android8.0+要求廠商專屬文件部署在vendor分區,該分區為只讀分區,獨立于system分區,提升系統升級兼容性。

PRODUCT_COPY_FILES += # 芯片專屬camera3配置文件,重命名為通用名$(CUR_PATH)/camera/camera3_profiles_$(TARGET_BOARD_PLATFORM).xml:$(TARGET_COPY_OUT_VENDOR)/etc/camera/camera3_profiles.xml # 遞歸拷貝相機固件$(callfind-copy-subdir-files,*,$(CUR_PATH)/firmware,$(TARGET_COPY_OUT_VENDOR)/firmware)# 遞歸拷貝相機所有配置文件$(callfind-copy-subdir-files,*,$(CUR_PATH)/camera,$(TARGET_COPY_OUT_VENDOR)/etc/camera)

?PRODUCT_COPY_FILESAndroid Build System的核心變量,用于指定需要拷貝到系統鏡像的文件列表,格式為源文件:目標文件

?$(TARGET_COPY_OUT_VENDOR)Android構建系統宏,指向vendor分區的輸出路徑(實際為out/target/product/xxx/vendor)。

分支2SDK<26Android8.0以下)拷貝到system分區

低版本Android無獨立vendor分區,所有文件均部署在system分區,同時額外拷貝相機工具到system/bin(高版本工具已整合到vendor分區)。

PRODUCT_COPY_FILES += $(CUR_PATH)/camera/camera3_profiles_$(TARGET_BOARD_PLATFORM).xml:$(TARGET_COPY_OUT_SYSTEM)/etc/camera/camera3_profiles.xml $(callfind-copy-subdir-files,*,$(CUR_PATH)/firmware,$(TARGET_COPY_OUT_SYSTEM)/etc/firmware)$(callfind-copy-subdir-files,*,$(CUR_PATH)/camera,$(TARGET_COPY_OUT_SYSTEM)/etc/camera)# 低版本額外拷貝相機工具到系統可執行目錄$(callfind-copy-subdir-files,*,$(CUR_PATH)/tools,$(TARGET_COPY_OUT_SYSTEM)/bin)

?$(TARGET_COPY_OUT_SYSTEM):指向system分區的輸出路徑(out/target/product/xxx/system);

?system/binAndroid系統可執行工具的默認目錄,相機工具拷貝到此處可直接在終端執行。

模塊4:芯片專屬ISP IQ文件拷貝

IQ文件是相機圖像信號處理器(ISP)的核心參數配置文件,包含曝光、白平衡、銳化、降噪等成像參數,瑞芯微為不同芯片匹配了不同版本的ISP IQ文件,統一拷貝到vendor分區(所有支持IQ文件的芯片均為Android8.0+適配)。

該模塊通過ifneq判斷芯片平臺,匹配后指定IQ文件源路徑,再遞歸拷貝到vendor/etc/camera/rkisp2/,各芯片適配詳情如下:

#rk1126/rk356x → isp21#rk3588 → isp3x#rk3562 → isp32_lite(輕量版ISP)#rk3576 → isp39(高性能ISP,支持4K成像){insert_element_0_}

?IQ文件源碼路徑:$(TOP)/external/camera_engine_rkaiq/iqfiles/(瑞芯微開源的相機引擎rkaiq目錄);

?目標路徑:所有芯片的IQ文件均統一到vendor/etc/camera/rkisp2/,便于相機驅動統一讀取。

模塊5CPU端人臉檢測庫編譯打包

該模塊通過Android構建系統變量指定庫文件的編譯和打包,實現相機的CPU端人臉檢測功能(區別于ISP硬件人臉檢測)。

#CPU facedetec libPRODUCT_PACKAGES+= libcam_facedetection

?PRODUCT_PACKAGESAndroid Build System核心變量,用于指定需要編譯并加入系統鏡像的庫/可執行文件/應用

?libcam_facedetection:瑞芯微自研的CPU端人臉檢測動態庫.so文件),構建系統會自動從源碼目錄編譯該庫,并將其拷貝到系統的vendor/lib/system/lib目錄,相機應用可直接調用。

四、相機相關文件/庫的編譯部署流程圖

使用Mermaid語法繪制完整流程,涵蓋條件判斷文件拷貝庫編譯的全鏈路,可直接渲染查看:

wKgZPGmjhQaAdgE6AAQA6Pm2858133.png

五、相機相關文件/庫源/目標路徑匯總表

該表整合所有文件類型、觸發條件、源碼路徑、目標路徑、所屬分區,是開發板相機文件部署的核心參考,備注列說明文件的核心作用:

5.1基礎文件(配置/固件/工具)

文件類型

觸發條件

源碼根路徑

目標路徑

所屬分區

備注

camera3配置文件

ATV/VR/STBVR+rk3528

$(CUR_PATH)/camera/xxx.xml

/etc/camera/camera3_profiles.xml

vendor/system

芯片專屬相機3.0框架配置,重命名為通用名

相機固件

ATV/VR/STBVR+rk3528

$(CUR_PATH)/firmware/

/firmware//etc/firmware/

vendor/system

相機硬件驅動的固件文件

相機通用配置文件

ATV/VR/STBVR+rk3528

$(CUR_PATH)/camera/

/etc/camera/

vendor/system

包含白平衡、對焦等通用配置

相機工具

ATV/VR/STBVR+rk3528+SDK<26

$(CUR_PATH)/tools/

/bin/

system

相機調試/配置的可執行工具

5.2 ISP IQ參數文件(各芯片專屬)

芯片平臺

ISP版本

源碼路徑

目標路徑

所屬分區

備注

rk1126/rk356x

isp21

$(TOP)/external/camera_engine_rkaiq/iqfiles/isp21/

/vendor/etc/camera/rkisp2/

vendor

通用版ISP,適配中低性能芯片

rk3588

isp3x

$(TOP)/external/camera_engine_rkaiq/iqfiles/isp3x/

/vendor/etc/camera/rkisp2/

vendor

高性能ISP,支持4K/高分辨率成像

rk3562

isp32_lite

$(TOP)/external/camera_engine_rkaiq/iqfiles/isp32_lite/

/vendor/etc/camera/rkisp2/

vendor

輕量版ISP,適配低功耗芯片

rk3576

isp39

$(TOP)/external/camera_engine_rkaiq/iqfiles/isp39/

/vendor/etc/camera/rkisp2/

vendor

旗艦版ISP,支持雙4K視頻編碼

5.3庫文件(人臉檢測)

庫名

觸發條件

編譯方式

目標路徑

所屬分區

備注

libcam_facedetection

無(全局)

PRODUCT_PACKAGES

/vendor/lib//system/lib/

vendor/system

CPU端人臉檢測動態庫,相機應用可直接調用

六、關鍵知識點補充

1.分區差異vendor分區為瑞芯微廠商專屬,system分區為Android系統原生,Android8.0+要求廠商文件優先部署在vendor,避免系統升級時覆蓋廠商配置;

2.文件重命名camera3_profiles_$(TARGET_BOARD_PLATFORM).xml重命名為camera3_profiles.xml,是為了讓相機框架統一讀取通用文件名,無需適配不同芯片的文件名;

3.rkaiq引擎:瑞芯微的camera_engine_rkaiq是開源的相機圖像優化引擎,IQ文件是該引擎的核心配置,決定相機的最終成像效果;

4.編譯輸出:所有拷貝的文件和編譯的庫,最終都會生成在Android源碼的out/target/product/[芯片名]/目錄下,隨system.img/vendor.img燒錄到開發板的對應分區。

七、文件的工程價值

該文件是瑞芯微多芯片、多Android版本、多產品形態相機適配的統一編譯入口,通過Makefile的條件判斷實現了一次配置,多場景編譯,減少了重復的配置文件編寫,同時嚴格遵循Android的分區架構規范,提升了系統的可維護性和兼容性。開發人員可通過修改該文件,快速添加/刪除相機文件、適配新芯片的IQ文件、調整文件部署分區。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5198

    文章

    20449

    瀏覽量

    334075
  • 瑞芯微
    +關注

    關注

    27

    文章

    794

    瀏覽量

    54322
  • rk3576
    +關注

    關注

    1

    文章

    267

    瀏覽量

    1552
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    飛凌嵌入式RK3576開發板的MIPI-CSI調試——通路解析

    本文介紹了RK3576處理器的Camera通路,以及如何配置MIPI-CSI攝像頭的不同輸出格式。
    的頭像 發表于 07-19 13:43 ?3728次閱讀
    飛凌嵌入式<b class='flag-5'>RK3576</b>開發板的MIPI-CSI調試——通路解析

    如何在RK3576開發板上板端編譯OpenCV并搭建應用

    本文將介紹基于米爾電子MYD-LR3576開發板(米爾基于瑞芯微RK3576開發板)的板端編譯OpenCV及環境搭建方案的開發測試。摘自優秀創作者-短笛君RK3576具有如下
    的頭像 發表于 08-08 08:04 ?3549次閱讀
    如何在<b class='flag-5'>RK3576</b>開發板上板端<b class='flag-5'>編譯</b>OpenCV并搭建應用

    RK3576 Android 14.0 SDK開發指南(第一集)

    可以按如下修改:(以RK3576平臺為例說明) BOARD_BUILD_GKI := true后會自動開啟AB功能。 關于GKI的kernel編譯、ko更新等說明可以參考文檔 RKDocs
    發表于 05-20 08:43

    RK3576 vs RK3588:為何越來越多的開發者轉向RK3576?

    瑞芯微(Rockchip)最新發布的 RK3576 一經推出,就吸引了大量原本關注 RK3588 的開發者。RK3588 作為旗艦級芯片,性能固然強大,但 RK3576 憑借其超高的能
    發表于 05-30 08:46

    Mpp支持RK3576

    想問下,https://github.com/rockchip-linux/mpp這里面支持RK3576么,看介紹沒有提到說支持RK3576 目前是買了個rk3576的機頂盒,搭載了安卓14,想做安卓視頻硬解。
    發表于 06-13 15:35

    宇瓏RK3576核心板與嵌入式主板通用平臺介紹

    宇瓏RK3576核心板與嵌入式主板通用平臺介紹
    的頭像 發表于 08-26 17:23 ?1775次閱讀
    宇瓏<b class='flag-5'>RK3576</b>核心板與嵌入式主板通用<b class='flag-5'>平臺</b>介紹

    新品體驗 | RK3576開發板

    前言:RK3576作為瑞芯微第二代8nm高性能AIOT平臺,一經推出便獲得了極大的關注。廣州眺望電子科技有限公司是一家專注于嵌入式處理器模組研發與應用的國家高新技術企業,目前公司已推出的相關型號有
    的頭像 發表于 11-01 08:08 ?3150次閱讀
    新品體驗 | <b class='flag-5'>RK3576</b>開發板

    RK3576單板發布倒計時:RK3399與RK3576對比

    好多人說RK3576RK3399的升級版,某種程度上也可以這么說,RK3576在強大的多媒體功能的基礎上,性能和接口都進行了升級 一、工藝 性能 rk3576采用 Rockchip
    的頭像 發表于 12-03 16:59 ?2530次閱讀
    <b class='flag-5'>RK3576</b>單板發布倒計時:<b class='flag-5'>RK</b>3399與<b class='flag-5'>RK3576</b>對比

    迅為RK3576開發板Android?多屏顯示

    迅為RK3576開發板Android?多屏顯示
    的頭像 發表于 01-16 16:58 ?1918次閱讀
    迅為<b class='flag-5'>RK3576</b>開發板<b class='flag-5'>Android</b>?多屏顯示

    RK3576開發板技術分享 | Weston 配置技巧:定制你的桌面體驗!

    RK3576開發板技術分享 | Weston 配置技巧:定制你的桌面體驗!
    的頭像 發表于 03-07 10:17 ?1529次閱讀
    <b class='flag-5'>RK3576</b>開發板技術分享 | Weston <b class='flag-5'>配置</b>技巧:定制你的桌面體驗!

    瑞芯微RK3576RK3576S有什么區別,性能參數配置與型號差異解析

    瑞芯微第二代8nm高性能AIOT平臺RK3576家族再添新成員-RK3576S,先說結論:相較主型號的RK3576/RK3576J,性能略有
    的頭像 發表于 08-14 23:57 ?2382次閱讀
    瑞芯微<b class='flag-5'>RK3576</b>與<b class='flag-5'>RK3576</b>S有什么區別,性能參數<b class='flag-5'>配置</b>與型號差異解析

    迅為如何在RK3576上部署YOLOv5;基于RK3576構建智能門禁系統

    迅為如何在RK3576開發板上部署YOLOv5;基于RK3576構建智能門禁系統
    的頭像 發表于 11-25 14:06 ?1808次閱讀
    迅為如何在<b class='flag-5'>RK3576</b>上部署YOLOv5;基于<b class='flag-5'>RK3576</b>構建智能門禁系統

    硬核進階:RK3576 Android15?驅動與系統開發實戰指南

    android15,想與大家探討更多,不僅僅是驅動,更包含android其他方面。 各位嵌入式與Android開發的朋友們,我們的? RK3576
    的頭像 發表于 01-26 22:29 ?637次閱讀
    硬核進階:<b class='flag-5'>RK3576</b> <b class='flag-5'>Android15</b>?驅動與系統開發實戰指南

    RK3576平臺Android HAL層故障排查:從lshal命令看透問題本質

    RK3576 作為瑞芯微主流的中高端芯片,其 HAL 層基于 HIDL ( Android 硬件接口定義語言)實現,排查這類問題的核心工具就是 lshal —— 一個能直接暴露 HIDL 服務運行狀態的命令
    的頭像 發表于 02-06 07:12 ?182次閱讀
    <b class='flag-5'>RK3576</b><b class='flag-5'>平臺</b><b class='flag-5'>Android</b> HAL層故障排查:從lshal命令看透問題本質

    RK3576 Android15音頻開發必看:alsa_route核心文件解析與修改場景

    ——alsa_route(alsa_route.h/alsa_route.c)。 作為連接Android上層音頻框架與底層ALSA驅動的“橋梁”,alsa_route是RK3576 Android15音頻
    的頭像 發表于 02-26 08:08 ?96次閱讀
    <b class='flag-5'>RK3576</b> <b class='flag-5'>Android15</b>音頻開發必看:alsa_route核心文件解析與修改場景