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

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

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

3天內不再提示

拆解RK3568啟動日志:Debian12+Linux6.1下的調試密碼,初學者也能看懂

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

掃碼添加小助手

加入工程師交流群

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

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

wKgZPGkaixeAebPbAACpobgZqkc950.png

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

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

階段1DDR內存初始化(硬件調試核心)

啟動的第一步是初始化DDR(內存),這是硬件能否正常工作的基礎,日志中對應開頭的DDR相關配置:

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

關鍵信息

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

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

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

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

SPLSecondary Program Loader)是迷你引導程序,負責初始化基礎硬件(如MMC、SPI)并加載主U-Boot,日志中對應:

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成功)

關鍵信息

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

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

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

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

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)

關鍵信息

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

?跳轉地址:U-Boot加載到0x00a00000BL310x00040000,需確認內存地址分配無沖突。

階段4Linux內核啟動(驅動與硬件適配)

內核啟動是日志中最復雜的部分,涵蓋CPU、內存、外設驅動的初始化,我們挑核心信息解析:

1)硬件基礎初始化

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

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

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

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

內核會自動加載硬件驅動,日志中用probed表示成功,error表示失敗:

?成功案例:

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

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

[  2.483354] GTP-ERR[_do_i2c_write432]: I2c transfer error! (-110) (GTP觸摸芯片I2C超時)[  5.910894] GTP-ERR[gt1x_ts_probe587]: GTPinitfailed!!! (觸摸驅動初始化失敗)[FAILED] Failed to start usbdevice.service: Manage USB device functions. (USB設備服務啟動失敗)

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

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

[  6.088111]EXT4-fs (mmcblk0p6) recovery complete (mmcblk0p6分區(qū)修復完成)[  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ū)掛載)

關鍵信息

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

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

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

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

?成功服務:

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

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

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

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

當所有服務啟動完成后,系統(tǒng)進入登錄界面:

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

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

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

1.硬件調試:驗證硬件設計正確性

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

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

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

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

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

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

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

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

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

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

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

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

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

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

先在日志中標記出6個核心階段,對應前文解析的結構:

1.DDR初始化:找“DDR”“LPDDR4X”“Size”關鍵字;

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

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

4.內核啟動:找“Linux version”“Booting Linux”“probed”“error”;

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

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

第二步:關注關鍵判斷詞

日志中80%的問題都能通過關鍵字定位:

?成功標識OKprobed、mounted、Booted;

?失敗標識error、FAILED、timeoutinit failed;

?硬件信息CPUDRAM、MMC、I2CUSB(對應具體硬件)。

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

1.階段:內核驅動加載;

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

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

第三步:搭配工具深入調試

光看日志不夠,需用工具進一步分析:

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

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

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

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

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

1.啟動流程圖

wKgZPGkaixeAWmQhAAE6OHtqRIo360.png

2.啟動日志核心腦圖

wKgZPGkaixeAM_ziAAFNX7AbNrI310.png

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

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

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

?驅動工程師的調試器:定位驅動適配與兼容性問題;

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

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

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

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

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

    關注

    5198

    文章

    20435

    瀏覽量

    333932
  • Linux
    +關注

    關注

    88

    文章

    11756

    瀏覽量

    218997
  • RK3568
    +關注

    關注

    5

    文章

    644

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    RK3568-GDB程序調試方法說明

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

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

    RK3568-Linux系統(tǒng)使用手冊(二)
    的頭像 發(fā)表于 01-22 10:48 ?2762次閱讀
    <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 ?3056次閱讀
    <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進行調試

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

    怎樣對RK3568 Debian10 AP6275S Bluetooth進行調試

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

    RK3568 Debian10 AP6275s wifi的調試步驟有哪些呢

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

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

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

    linux初學者入門

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

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

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

    ROC RK3568 PC固件Debian

    電子發(fā)燒友網站提供《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 進行攝像頭開發(fā)

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

    電路圖你能看懂

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

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

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