日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

踩坑實錄:RK3588單獨編譯boot.img無法啟動?這個GPU配置才是關鍵!

jf_44130326 ? 來源:Linux1024 ? 2026-02-10 16:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RK3588嵌入式開發(fā)的同學,大概率都遇到過編譯成功卻啟動失敗的糟心場景——明明按官方流程單獨編譯了boot.img,燒錄后設備卻卡在開機logo,或者直接進入不了系統(tǒng),查日志、換編譯器、核對指令都沒用,最后發(fā)現(xiàn)竟是一個容易被忽略的GPU配置在搞鬼!

今天就把這個踩坑經(jīng)歷完整分享出來,幫大家少走彎路~

一、問題復現(xiàn):看似無懈可擊的編譯流程,卻栽了跟頭

我的開發(fā)環(huán)境是RK3588 EVB7開發(fā)板,SDK內核版本為Linux 5.10,按照常規(guī)單獨編譯boot.img的步驟操作:

$cd$sdk/kernel/$exportCROSS_COMPILE=../prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-$make ARCH=arm64 rockchip_linux_defconfig rockchip_rt.config$make ARCH=arm64 rk3588-evb7-v11-linux.img -j8

編譯過程一路綠燈,沒有任何報錯,生成的rk3588-evb7-v11-linux.img(包含boot.img)也正常。用RKDevTool燒錄后,設備上電:屏幕亮了logo,隨后就一直卡住,串口日志停留在“GPU initialization failed,系統(tǒng)無法進入用戶空間。

一開始懷疑是編譯器版本不匹配、defconfig配置錯誤,或者內核與開發(fā)板型號不兼容,反復核對了交叉編譯器路徑、開發(fā)板型號參數(shù),甚至重新同步了SDK,問題依然存在。

二、排查關鍵:從“GPU初始化失敗鎖定核心原因

既然日志明確指向“GPU初始化,就順著這個方向深挖。RK3588集成的是Mali-G610 GPU,而Mali GPU的驅動初始化依賴內核配置中的關鍵選項。

通過make ARCH=arm64 menuconfig打開內核配置界面,在Device Drivers → Graphics support → MaliBifrost seriessupport路徑下發(fā)現(xiàn):Enable Mali CSF based GPU suppor選項默認是關閉的(設為n。

這就是問題的根源!之前我們分析過,CONFIG_MALI_CSF_SUPPORT是啟用Mali CSF(圖形計算子系統(tǒng))架構的核心配置,而RK3588Mali-G610 GPU原生適配CSF架構——如果關閉這個配置,Mali驅動無法識別GPU硬件,會導致GPU初始化失敗。

更關鍵的是,RK3588的系統(tǒng)啟動流程中,GPU是核心依賴模塊:無論是AndroidGUI顯示,還是Linux的桌面環(huán)境,甚至是部分底層服務,都需要GPU完成圖形渲染或資源調度。GPU初始化失敗會直接阻斷啟動流程,導致系統(tǒng)卡在開機階段。

三、解決方法:只需一步,啟用CONFIG_MALI_CSF_SUPPORT

找到問題后,解決起來就很簡單了,核心就是開啟CONFIG_MALI_CSF_SUPPORT配置:

1.進入內核配置界面:

wKgZO2kah3-AH13lAAAfwdxuyV8986.png
$cd$sdk/kernel/$make ARCH=arm64 menuconfig

1.導航到GPU配置路徑:

Device Drivers → Graphics support → MaliBifrost seriessupport→Enable Mali CSF based GPU support

2.找到Enable Mali CSF based GPU support,按Y鍵啟用(選項前會出現(xiàn)“*”),確保配置為CONFIG_MALI_CSF_SUPPORT=y。

3.保存配置并退出(按ESC鍵,選擇Save,確認保存路徑)。

4.另一個方法就是直接在配置文件里面添加wKgZO2kah3-APxWXAACV_ovWV5E007.png

5.重新編譯boot.img

$make ARCH=arm64 rk3588-evb7-v11-linux.img -j8

1.重新燒錄生成的鏡像文件,設備上電后順利進入系統(tǒng),串口日志顯示“Mali CSF initialized successfully”GPU功能正常啟用。

四、原理補充:為什么這個配置不能少?

可能有同學會問:我只是單獨編譯boot.img,又不做圖形開發(fā),為什么必須啟用GPU配置?

這里再劃重點:

1.硬件兼容性強制要求RK3588Mali-G610 GPU的硬件設計、寄存器邏輯都基于CSF架構,關閉CONFIG_MALI_CSF_SUPPORT后,驅動無法識別GPU,會觸發(fā)初始化失敗。

2.系統(tǒng)啟動的核心依賴RK3588的啟動流程中,GPU不僅負責圖形渲染,還會參與部分系統(tǒng)資源調度(如內存訪問、模塊協(xié)同),GPU初始化失敗會直接阻斷啟動鏈路。

3.驅動生態(tài)的必然要求RK3588 SDK配套的Mali驅動(無論是ARM閉源驅動還是社區(qū)開源驅動)都默認依賴CSF架構,關閉該配置會導致驅動加載失敗。

簡單說:對RK3588而言,CONFIG_MALI_CSF_SUPPORT不是可選配置,而是系統(tǒng)正常啟動的必要配置,哪怕你用不到GPU的圖形功能,也必須啟用。

五、避坑總結:單獨編譯boot.img3個關鍵注意點

1.單獨編譯boot.img時,不要只核對交叉編譯器和defconfig,一定要檢查GPU相關配置,尤其是CONFIG_MALI_CSF_SUPPORT必須設為y。

2.若遇到啟動卡logo”“初始化失敗類問題,優(yōu)先查看串口日志,重點關注GPU、DDR、CPU等核心模塊的初始化狀態(tài)。

3.編譯前建議通過make ARCH=arm64 savedefconfig備份當前配置,避免后續(xù)修改配置后無法回滾。

嵌入式開發(fā)就是這樣,很多看似無關緊要的配置,實則是系統(tǒng)正常運行的關鍵。希望這篇踩坑實錄能幫大家避開這個坑,讓RK3588的編譯啟動一路順暢~

如果還有其他編譯啟動相關的問題,歡迎在評論區(qū)交流!

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

    關注

    5210

    文章

    20680

    瀏覽量

    337367
  • gpu
    gpu
    +關注

    關注

    28

    文章

    5283

    瀏覽量

    136097
  • 編譯
    +關注

    關注

    0

    文章

    696

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于 RK3588 debian 搭建 RK3588 Kernel 編譯環(huán)境

    ARCH=arm64 rk3588-xxx.img -j16二、分布式編譯環(huán)境1、安裝 C/C++ 分布式編譯工具apt install distcc distccmon-gnome2、修改服務器端
    發(fā)表于 03-22 16:28

    介紹一種RK3588 Android SDK編譯方法的使用

    rk3588-evb1-lp4-v10編譯后會在rockdev/Image-rk3588_s/下生成boot.img,燒寫這個
    發(fā)表于 05-23 14:27

    RK3588 SDK編譯與固件燒寫步驟

    ; make ARCH=arm64 rk3588sevb1-lp4x-v10.img -j24  單獨編譯uboot  $ 。/make.sh rk3588  2、固件燒寫 
    發(fā)表于 08-31 17:45

    RK3588 Android無法編譯Package模塊是怎么回事

      我編譯的時候在firefly/device/rockchip/rk3588/rk3588_firefly_itx_3588j/rk3588_firefly_itx_3588j.mk
    發(fā)表于 09-05 17:33

    RK3588單獨編譯kernel的方式

    中。以 RK3588樣機為例,編譯時替換對應的boot.img及dts:其中 BOOT_IMG=../rockdev/Image-rk3588
    發(fā)表于 09-20 17:01

    RK3588 Android 12.0 SDK編譯步驟分享

    rk3588sevb1-lp4x-v10.img -j24單獨編譯uboot$ ./make.sh rk35882、固件燒寫升級工具版本:AndroidTool_Relea
    發(fā)表于 09-20 17:11

    怎樣去解決RK3588編譯kernel的問題呢

    =../rockdev/Image-rk3588_firefly_itx_3588j/boot.img rk3588-firefly-itx-3588j.img -j32SYNC include
    發(fā)表于 10-14 15:18

    iTOP3588開發(fā)板編譯Android內核方法一

    在 rockdev/Image-rk3588_s 目錄下生成 boot.imgboot.img 為內核鏡像。boot.img 鏡像里面包含了設備樹鏡像。所以燒寫
    發(fā)表于 12-06 13:30

    RK3588開發(fā)板Linux源碼包編譯Ubuntu

    ubootUboot 編譯完成如下圖所示:編譯完成后生成 uboot.img 到 u-boot 目錄,如下圖所示:更多內容可以了解迅為RK3588
    發(fā)表于 03-01 10:57

    【飛凌RK3588開發(fā)板試用】源碼編譯

    編譯配置在 device/forlinux/rk3588/目錄下,有不同板型的配置文件。選擇配置文件進行
    發(fā)表于 03-28 22:32

    iTOP-RK3588開發(fā)板單獨編譯Android固件-打包update.img

    rockdev/Image-rk3588_s 目錄下生成 update.img 鏡像。 更多內容:B站搜索迅為RK3588開發(fā)板
    發(fā)表于 08-15 11:00

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發(fā)板

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發(fā)板
    的頭像 發(fā)表于 08-30 14:13 ?2602次閱讀
    <b class='flag-5'>RK3588</b>!黑神話悟空,<b class='flag-5'>啟動</b>?-迅為電子<b class='flag-5'>RK3588</b>開發(fā)板

    RK3588 SDK入門之編譯使用篇

    前言:在上一篇文章中,我們已經(jīng)配置好了Ubuntu虛擬機。本期將重點介紹如何Ubuntu虛擬機中使用RK3588的SDK。具體內容包括SDK的下載與安裝、環(huán)境變量的配置、以及編譯調試的
    的頭像 發(fā)表于 11-22 01:07 ?7756次閱讀
    <b class='flag-5'>RK3588</b> SDK入門之<b class='flag-5'>編譯</b>使用篇

    調試RK3588必看!這個臨時設備樹文件,藏著你要的所有配置答案

    ”——rk3588-evb7-v11-linux.dtb.dts.tmp。不少人以為它是編譯過程的“臨時垃圾”,看完這篇你就知道:它其實是解決硬件適配、內核啟動問題的“調試鑰匙”。
    的頭像 發(fā)表于 02-03 15:55 ?1617次閱讀
    調試<b class='flag-5'>RK3588</b>必看!<b class='flag-5'>這個</b>臨時設備樹文件,藏著你要的所有<b class='flag-5'>配置</b>答案

    RK3588 實錄:Ubuntu分區(qū)掛載失敗急救教程

    前言:瑞芯微RK3588很多項目都用到Ubuntu22.04系統(tǒng),若是遇到進不了桌面、只能輸密碼進維護終端,反復登錄報錯,項目調試直接卡住。這種問題90%是userdata、oem分區(qū)損壞/掛載失敗
    的頭像 發(fā)表于 04-24 08:31 ?777次閱讀
    <b class='flag-5'>RK3588</b> <b class='flag-5'>踩</b><b class='flag-5'>坑</b><b class='flag-5'>實錄</b>:Ubuntu分區(qū)掛載失敗急救教程
    梅州市| 久治县| 桂东县| 永新县| 花莲市| 洱源县| 芮城县| 德令哈市| 安顺市| 临朐县| 怀来县| 宣汉县| 连云港市| 巴塘县| 峡江县| 沾益县| 神池县| 淮南市| 监利县| 日喀则市| 南陵县| 苍梧县| 井研县| 蒲江县| 玛纳斯县| 临海市| 渭源县| 南丹县| 建始县| 姜堰市| 伊金霍洛旗| 西宁市| 城口县| 长兴县| 湖州市| 互助| 花莲市| 合肥市| 蓝山县| 措美县| 平阳县|