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

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

踩坑實(shí)錄:RK3588單獨(dú)編譯boot.img無法啟動?這個GPU配置才是關(guān)鍵!

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

掃碼添加小助手

加入工程師交流群

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

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

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

我的開發(fā)環(huán)境是RK3588 EVB7開發(fā)板,SDK內(nèi)核版本為Linux 5.10,按照常規(guī)單獨(dú)編譯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燒錄后,設(shè)備上電:屏幕亮了logo,隨后就一直卡住,串口日志停留在“GPU initialization failed,系統(tǒng)無法進(jìn)入用戶空間。

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

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

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

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

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

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

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

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

1.進(jìn)入內(nèi)核配置界面:

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

1.導(dǎo)航到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,確認(rèn)保存路徑)。

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

5.重新編譯boot.img

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

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

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

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

這里再劃重點(diǎn):

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

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

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

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

五、避坑總結(jié):單獨(dú)編譯boot.img3個關(guān)鍵注意點(diǎn)

1.單獨(dú)編譯boot.img時,不要只核對交叉編譯器和defconfig,一定要檢查GPU相關(guān)配置,尤其是CONFIG_MALI_CSF_SUPPORT必須設(shè)為y

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

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

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

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

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

    關(guān)注

    5198

    文章

    20442

    瀏覽量

    333961
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    5194

    瀏覽量

    135422
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    694

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    RK3588 EVB開發(fā)板原理圖講解【八】 RK3588 power Tree

    進(jìn)行電源完整性分析 下面實(shí)際分析RK3588電源分布電源架構(gòu)設(shè)計方案說明? 系統(tǒng)采用雙電源輸入架構(gòu),支持以下兩種標(biāo)準(zhǔn)供電接口: ?主電源接口:配置標(biāo)準(zhǔn)D型電源插座(DC JACK)及AXT系列工業(yè)
    發(fā)表于 03-01 11:38

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

    ARCH=arm64 rk3588-xxx.img -j16二、分布式編譯環(huán)境1、安裝 C/C++ 分布式編譯工具apt install distcc distccmon-gnome2、修改服務(wù)器端
    發(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  單獨(dú)編譯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單獨(dú)編譯kernel的方式

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

    RK3588 Android 12.0 SDK編譯步驟分享

    rk3588sevb1-lp4x-v10.img -j24單獨(dú)編譯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內(nèi)核方法一

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

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

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

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

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

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

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

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

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

    RK3588 SDK入門之編譯使用篇

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

    調(diào)試RK3588必看!這個臨時設(shè)備樹文件,藏著你要的所有配置答案

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