91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

拆解RK3568啟動日志:Debian12+Linux6.1下的調(diào)試密碼,初學(xué)者也能看懂

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

掃碼添加小助手

加入工程師交流群

嵌入式開發(fā)中,啟動日志(Boot Log是硬件調(diào)試、驅(qū)動開發(fā)、系統(tǒng)優(yōu)化的第一手資料。尤其是基于瑞芯微RK3568(四核A55,主打邊緣計算、物聯(lián)網(wǎng)設(shè)備)的方案,搭配Debian12系統(tǒng)與Linux6.1內(nèi)核時,啟動日志能直觀反映從硬件初始化到用戶登錄的全流程。

本文將逐段解析RK3568的啟動日志,帶你看懂每個階段的關(guān)鍵信息,理解其對開發(fā)者的價值,并教會初學(xué)者如何利用日志定位問題。文末附啟動流程圖和腦圖,幫你建立系統(tǒng)化認(rèn)知。

wKgZPGkaixeAebPbAACpobgZqkc950.png

一、啟動日志全解析:從硬件到系統(tǒng)的9個關(guān)鍵階段

RK3568的啟動流程遵循硬件初始化引導(dǎo)程序內(nèi)核加載用戶態(tài)啟動嵌入式標(biāo)準(zhǔn)邏輯,日志中每個階段都有明確的標(biāo)識,我們按時間線拆解:

階段1DDR內(nèi)存初始化(硬件調(diào)試核心)

啟動的第一步是初始化DDR(內(nèi)存),這是硬件能否正常工作的基礎(chǔ),日志中對應(yīng)開頭的DDR相關(guān)配置:

LPDDR4X,324MHzBW=32Col=10Bk=8CS0 Row=16CS1 Row=16CS=2Die BW=16Size=4096MBchangeto324MHz →528MHz →780MHz →1560MHz(final freq)vrefinner16%, vrefout22% (電壓基準(zhǔn)參數(shù))clkskew0x26 (時鐘偏移)

關(guān)鍵信息

?內(nèi)存類型:LPDDR4X,容量4GB(符合RK3568的硬件規(guī)格);

?頻率切換:從324MHz(初始)逐步升頻到1560MHz(最終工作頻率),需確認(rèn)硬件供電是否能支撐高頻;

?時序參數(shù):clk skew(時鐘偏移)、vref(電壓基準(zhǔn))直接影響內(nèi)存穩(wěn)定性,若后續(xù)出現(xiàn)內(nèi)存報錯,需優(yōu)先檢查這些參數(shù)。

階段2SPL引導(dǎo)(次級程序加載器)

SPLSecondary Program Loader)是迷你引導(dǎo)程序,負(fù)責(zé)初始化基礎(chǔ)硬件(如MMC、SPI)并加載主U-Boot,日志中對應(yīng):

U-Boot SPL2017.09(Oct022025-132555)sfccmd=9fH(6BH-x4) → unknown raw ID000(SPI Flash識別失?。?/span>Tryingto boot from MMC2 → MMC no card present (MMC2無卡)Tryingto boot from MMC1 → SPL AB-slot _a, successful0, tries-remain7(MMC1成功)

關(guān)鍵信息

?啟動介質(zhì)優(yōu)先級:SPL先嘗試SPI Flash(失?。?,再試MMC2(無卡),最后MMC1(成功),開發(fā)者可通過修改U-Boot配置調(diào)整優(yōu)先級;

?AB-slotMMC1支持“AB分區(qū)啟動Android常用的雙系統(tǒng)備份機制),此處嘗試_slot_a,適合需要高可靠性的設(shè)備。

階段3U-Boot與安全固件(BL31+OP-TEE

U-Boot啟動后,會加載ARM可信固件(BL31)和安全操作系統(tǒng)OP-TEE),這是嵌入式設(shè)備安全啟動的核心:

NOTICE BL31 v2.3()v2.3-645-g8cea6ab0bcl, fwver v1.44(ATF版本)ITCOP-TEE version3.13.0-860-g6c78a7d8c (OP-TEE版本)INFO  Using opteed sec cpu_context! (啟用安全上下文)Jumpingto U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)

關(guān)鍵信息

?安全組件版本:BL31v1.44)和OP-TEEv3.13.0)需與內(nèi)核、U-Boot版本兼容,否則會出現(xiàn)啟動卡死

?跳轉(zhuǎn)地址:U-Boot加載到0x00a00000,BL310x00040000,需確認(rèn)內(nèi)存地址分配無沖突。

階段4Linux內(nèi)核啟動(驅(qū)動與硬件適配)

內(nèi)核啟動是日志中最復(fù)雜的部分,涵蓋CPU、內(nèi)存、外設(shè)驅(qū)動的初始化,我們挑核心信息解析:

1)硬件基礎(chǔ)初始化

[  0.980086]Booting Linux on physical CPU0x0000000000[0x412fd050](CPU型號:ARM Cortex-A55)[  0.980114]Linux version6.1.84(sc@linux1024) (內(nèi)核版本)[  0.995619] Machinemodel: Rockchip RK3568 Linux1024 EVB1 DDR4 V10 Board (硬件型號)[  1.058549] Zoneranges: DMA [mem0x0000000000200000-0xffffffff], Normal [mem0x100000000-0x1ffffffff] (內(nèi)存分區(qū))

?CPU4A55(后續(xù)日志會顯示“Brought up 1 node, 4 CPUs”);

?內(nèi)存分區(qū):DMA區(qū)(用于外設(shè)訪問)和Normal區(qū)(主內(nèi)存),總內(nèi)存4GB(對應(yīng)0x002000000x1ffffffff)。

2)驅(qū)動加載狀態(tài)

內(nèi)核會自動加載硬件驅(qū)動,日志中用probed表示成功,error表示失?。?/span>

?成功案例:

[  1.429266] rockchip-gpio fdd60000.gpio: probedpinctrl:gpio@fdd60000GPIO驅(qū)動成功)[  2.260806] rga2 fdeb0000.rk_rga: probe successfully, irq =87RGA2圖形加速驅(qū)動成功)[  2.300120] mali fde60000.gpu:Probedasmali0 (MaliGPU驅(qū)動成功)

?失敗案例(需重點關(guān)注):

[  2.483354] GTP-ERR[_do_i2c_write432]: I2c transfer error! (-110) (GTP觸摸芯片I2C超時)[  5.910894] GTP-ERR[gt1x_ts_probe587]: GTPinitfailed!!! (觸摸驅(qū)動初始化失?。?/span>[FAILED] Failed to start usbdevice.service: Manage USB device functions. (USB設(shè)備服務(wù)啟動失?。?/span>

階段5:文件系統(tǒng)掛載(系統(tǒng)可用性基礎(chǔ))

內(nèi)核啟動后,會掛載根文件系統(tǒng)(Debian12使用ext4),日志中對應(yīng):

[  6.088111]EXT4-fs (mmcblk0p6) recovery complete (mmcblk0p6分區(qū)修復(fù)完成)[  6.088308]EXT4-fs (mmcblk0p6) mounted filesystem with ordered data mode (根分區(qū)掛載成功)[  8.422110]EXT4-fs (mmcblk0p7) mounted filesystem with ordered data mode (oem分區(qū)掛載)[  8.527496]EXT4-fs (mmcblk0p8) mounted filesystem without journal (userdata分區(qū)掛載)

關(guān)鍵信息

?分區(qū)對應(yīng):mmcblk0EMMC設(shè)備,p6是根分區(qū)(/)、p7oem分區(qū)(廠商數(shù)據(jù))、p8userdata(用戶數(shù)據(jù));

?日志中“without journal”表示userdata分區(qū)關(guān)閉了ext4日志(適合對性能要求高的場景)。

階段6:用戶態(tài)初始化(systemd服務(wù)管理)

Debian12使用systemd管理系統(tǒng)服務(wù),日志中用[ OK ][FAILED]標(biāo)識服務(wù)狀態(tài):

?成功服務(wù):

[ OK ]Started rkaiq_3A.service: Enable Rockchip camera engine rkaiq (RK相機引擎服務(wù)成功)[ OK ] Started ssh.service: OpenBSD Secure Shell server (SSH服務(wù)成功,可遠(yuǎn)程登錄)[ OK ] Started lightdm.service: Light Display Manager (圖形登錄管理器成功)

?警告/失敗服務(wù)(需優(yōu)化):

Configuration file lib/systemd/system/rkaiq_3A.serviceismarked world-writable (服務(wù)文件權(quán)限過寬,有安全風(fēng)險)[FAILED] Failed to start usbdevice.service (USB服務(wù)失敗,需檢查驅(qū)動或配置)

階段7:最終登錄(系統(tǒng)就緒)

當(dāng)所有服務(wù)啟動完成后,系統(tǒng)進(jìn)入登錄界面:

Welcometo Debian GNU/Linux12(bookworm)!root@linaro-alip# (root用戶登錄成功,系統(tǒng)就緒)

二、啟動日志對開發(fā)者的3大核心價值

啟動日志不是無用的打印信息,而是嵌入式開發(fā)的調(diào)試指南針,其價值主要體現(xiàn)在3個維度:

1.硬件調(diào)試:驗證硬件設(shè)計正確性

?DDR穩(wěn)定性:若日志中出現(xiàn)“DDR init failed”,需檢查硬件供電(如VDD_DDR)、時序參數(shù)(clk skew、tdqss)是否與datasheet匹配;

?外設(shè)連接:比如“GTP觸摸I2C超時,可能是硬件接線錯誤(SDA/SCL接反)、上拉電阻缺失,或觸摸芯片本身故障;

?供電檢查:日志中vdd_logic init 900000 uV(邏輯供電900mV)、vdd_gpu init 900000 uVGPU供電900mV),若數(shù)值異常(如低于800mV),會導(dǎo)致外設(shè)工作不穩(wěn)定。

2.驅(qū)動開發(fā):定位驅(qū)動適配問題

?驅(qū)動加載失敗:日志中“probe failed”表示驅(qū)動未正確匹配硬件,需檢查設(shè)備樹(DTS)中硬件地址是否正確(如I2C設(shè)備地址0x14是否與實際一致);

?兼容性問題:比如Mali GPU驅(qū)動“probed as mali0”但后續(xù)“gpu hang”,需確認(rèn)內(nèi)核版本與GPU驅(qū)動版本是否兼容(RK3568Mali G52-2EE需搭配特定版本驅(qū)動);

?資源沖突:日志中can't request region for resource [mem 0xfde40000-0xfde4ffff]”表示NPU內(nèi)存地址被占用,需修改設(shè)備樹調(diào)整內(nèi)存分配。

3.系統(tǒng)優(yōu)化:縮短啟動時間、提升穩(wěn)定性

?啟動時間分析:日志中每個階段都有時間戳(如[ 0.980086]),可統(tǒng)計各階段耗時——比如SPL階段耗時100ms,內(nèi)核啟動耗時5s,用戶態(tài)服務(wù)耗時3s,針對性優(yōu)化慢階段(如禁用無用服務(wù));

?服務(wù)管理:通過systemctl status usbdevice.service查看失敗服務(wù)的詳細(xì)日志,禁用無關(guān)服務(wù)(如不需要相機可關(guān)閉rkaiq_3A.service);

?文件系統(tǒng)優(yōu)化:日志中“ext4 recovery complete”表示根分區(qū)上次異常關(guān)機,可通過e2fsck提前修復(fù),避免啟動時耗時修復(fù)。

三、初學(xué)者如何利用啟動日志?3步上手法

對嵌入式初學(xué)者來說,不用一開始看懂所有細(xì)節(jié),掌握按階段拆分抓關(guān)鍵字查手冊3步方法即可:

第一步:按啟動階段拆分日志

先在日志中標(biāo)記出6個核心階段,對應(yīng)前文解析的結(jié)構(gòu):

1.DDR初始化:找“DDR”“LPDDR4X”“Size”關(guān)鍵字;

2.SPL/U-Boot:找“U-Boot SPL”“Trying to boot from”;

3.安全固件:找“BL31”“OP-TEE”;

4.內(nèi)核啟動:找“Linux version”“Booting Linux”“probed”“error”

5.文件系統(tǒng):找“EXT4-fs”“mounted”;

6.用戶態(tài):找“systemd”“[ OK ]”“[FAILED]”

第二步:關(guān)注關(guān)鍵判斷詞

日志中80%的問題都能通過關(guān)鍵字定位:

?成功標(biāo)識OK、probed、mounted、Booted;

?失敗標(biāo)識error、FAILED、timeout、init failed;

?硬件信息CPUDRAMMMC、I2CUSB(對應(yīng)具體硬件)。

舉例:看到“GTP-ERR: I2c transfer error (-110)”,先確認(rèn):

1.階段:內(nèi)核驅(qū)動加載;

2.硬件:GTP觸摸芯片(I2C總線);

3.問題:I2C超時(錯誤碼- 110),優(yōu)先檢查硬件接線。

第三步:搭配工具深入調(diào)試

光看日志不夠,需用工具進(jìn)一步分析:

1.實時查看日志:系統(tǒng)啟動后,用dmesg查看內(nèi)核日志,journalctl -u usbdevice.service查看特定服務(wù)的詳細(xì)日志;

2.日志保存:用dmesg > boot.log保存日志到文件,方便后續(xù)分析;

3.硬件手冊對照:比如RK3568的《Datasheet》中“I2C控制器章節(jié),確認(rèn)時鐘頻率、地址是否與日志中一致。

四、可視化工具:啟動流程與腦圖

為了幫你更直觀理解,我整理了RK3568的啟動流程圖和核心腦圖:

1.啟動流程圖

wKgZPGkaixeAWmQhAAE6OHtqRIo360.png

2.啟動日志核心腦圖

wKgZPGkaixeAM_ziAAFNX7AbNrI310.png

五、總結(jié):啟動日志是嵌入式開發(fā)的顯微鏡

RK3568+Debian12的開發(fā)者來說,啟動日志不僅是啟動過程的記錄,更是:

?硬件工程師萬用表:驗證DDR、I2C、USB等硬件是否正常;

?驅(qū)動工程師的調(diào)試器:定位驅(qū)動適配與兼容性問題;

?系統(tǒng)工程師的優(yōu)化指南:縮短啟動時間、提升系統(tǒng)穩(wěn)定性;

?初學(xué)者的學(xué)習(xí)手冊:理解嵌入式系統(tǒng)01的啟動邏輯。

下次拿到RK3568的啟動日志,不妨按階段拆分抓關(guān)鍵字查手冊的步驟試試——你會發(fā)現(xiàn),很多之前卡殼的問題,都能在日志中找到答案。

如果覺得有用,歡迎分享給身邊的嵌入式同行,也可以在評論區(qū)留言你的日志調(diào)試經(jīng)歷~

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

    關(guān)注

    5199

    文章

    20454

    瀏覽量

    334234
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11763

    瀏覽量

    219079
  • RK3568
    +關(guān)注

    關(guān)注

    5

    文章

    644

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    瑞芯微RK3568:Debian系統(tǒng)如何安裝Docker

    本文基于HD-RK3568-IOT評估板演示Debian系統(tǒng)安裝Docker,該方法適用于RK356X全系產(chǎn)品。
    的頭像 發(fā)表于 09-18 17:26 ?2560次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>:<b class='flag-5'>Debian</b>系統(tǒng)如何安裝Docker

    RK3568-GDB程序調(diào)試方法說明

    RK3568-GDB程序調(diào)試方法說明
    的頭像 發(fā)表于 01-19 16:16 ?3483次閱讀
    <b class='flag-5'>RK3568</b>-GDB程序<b class='flag-5'>調(diào)試</b>方法說明

    RK3568-Linux系統(tǒng)使用手冊(二)

    RK3568-Linux系統(tǒng)使用手冊(二)
    的頭像 發(fā)表于 01-22 10:48 ?2779次閱讀
    <b class='flag-5'>RK3568-Linux</b>系統(tǒng)使用手冊(二)

    RK3568-Linux系統(tǒng)啟動卡制作及系統(tǒng)固化

    RK3568-Linux系統(tǒng)啟動卡制作及系統(tǒng)固化
    的頭像 發(fā)表于 01-22 11:06 ?3062次閱讀
    <b class='flag-5'>RK3568-Linux</b>系統(tǒng)<b class='flag-5'>啟動</b>卡制作及系統(tǒng)固化

    【HZ-RK3568開發(fā)板免費體驗】HZ-RK3568開發(fā)板操作系統(tǒng)編譯

    : linux-5.10-gen-rkr6 Log saved at /home/jack/HZ-EVM-RK3568-5.10-KERNEL-SDK/output/sessions/2025-08-13_09-14-12
    發(fā)表于 08-17 09:15

    怎樣對RK3568 Debian10 EC20進(jìn)行調(diào)試

    怎樣對RK3568 Debian10 EC20進(jìn)行調(diào)試呢?有哪些調(diào)試步驟?
    發(fā)表于 03-02 10:50

    怎樣對RK3568 Debian10 AP6275S Bluetooth進(jìn)行調(diào)試

    怎樣對RK3568 Debian10 AP6275S Bluetooth進(jìn)行調(diào)試呢?
    發(fā)表于 03-02 06:06

    RK3568 Debian10 AP6275s wifi的調(diào)試步驟有哪些呢

    RK3568 Debian10 AP6275s wifi的調(diào)試步驟有哪些呢?
    發(fā)表于 03-02 08:50

    【求助】自研RK3568工控板,原廠SDK的Linux啟動失敗

    在哪里,感謝。附件有我啟動日志以及設(shè)備樹的配置。 目前主要是想把linux內(nèi)核跑起來,在linux可以進(jìn)行很多的驗證工作。*附件:
    發(fā)表于 10-09 08:29

    linux初學(xué)者入門

    linux初學(xué)者入門
    發(fā)表于 10-27 14:34 ?14次下載
    <b class='flag-5'>linux</b><b class='flag-5'>初學(xué)者</b>入門

    只有工程師能看懂的動態(tài)圖你能看懂幾個?

    本文檔的主要內(nèi)容詳細(xì)介紹的是只有工程師能看懂的動態(tài)圖你能看懂幾個?
    的頭像 發(fā)表于 05-18 09:55 ?6714次閱讀
    只有工程師<b class='flag-5'>能看懂</b>的動態(tài)圖你<b class='flag-5'>能看懂</b>幾個?

    ROC RK3568 PC固件Debian

    電子發(fā)燒友網(wǎng)站提供《ROC RK3568 PC固件Debian.txt》資料免費下載
    發(fā)表于 09-20 09:51 ?8次下載
    ROC <b class='flag-5'>RK3568</b> PC固件<b class='flag-5'>Debian</b>

    迅為RK3568開發(fā)板Debian系統(tǒng)使用python 進(jìn)行攝像頭開發(fā)

    迅為RK3568開發(fā)板Debian系統(tǒng)使用python 進(jìn)行攝像頭開發(fā)
    的頭像 發(fā)表于 09-14 16:58 ?2844次閱讀
    迅為<b class='flag-5'>RK3568</b>開發(fā)板<b class='flag-5'>Debian</b>系統(tǒng)使用python 進(jìn)行攝像頭開發(fā)

    電路圖你能看懂

    電子發(fā)燒友網(wǎng)站提供《電路圖你能看懂.pdf》資料免費下載
    發(fā)表于 10-07 09:58 ?49次下載

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅(qū)動開發(fā)實戰(zhàn):RK3568內(nèi)核模塊符號導(dǎo)出詳解

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅(qū)動開發(fā)實戰(zhàn):RK3568內(nèi)核模塊符號導(dǎo)出詳解
    的頭像 發(fā)表于 11-21 13:25 ?1225次閱讀
    【迅為工業(yè)<b class='flag-5'>RK3568</b>穩(wěn)定可靠】itop-<b class='flag-5'>3568</b>開發(fā)板<b class='flag-5'>Linux</b>驅(qū)動開發(fā)實戰(zhàn):<b class='flag-5'>RK3568</b>內(nèi)核模塊符號導(dǎo)出詳解