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

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

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

3天內不再提示

速通攻略 | RK3588開發板U-Boot階段的存儲設備文件讀取方法

飛凌嵌入式 ? 2025-12-12 08:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

飛凌嵌入式OK3588-C開發板作為一款基于瑞芯微RK3588處理器設計開發的旗艦級開發板,不僅擁有4核A76+4核A55的強勁架構以及6TOPS的卓越NPU算力,而且在硬件上支持雙路獨立MMC控制器、多規格USB接口等,為存儲設備調試筑牢硬件根基。有了這樣強大的硬件支撐,在實際的開發調試與系統驗證過程中,對各類存儲設備文件內容的讀取操作就顯得尤為重要。

本文將介紹在飛凌嵌入式RK3588開發板U-Boot控制臺階段,讀取eMMC、TF 卡、U盤等各類存儲設備文件內容的標準化方法。盡管不同設備初始化有差異,但通過控制臺命令可實現統一讀寫,為開發調試與系統驗證帶來極大便利。

wKgZO2lEsdqAM1x_AALc6dqHgjw419.png

一、進入U-Boot控制臺

飛凌嵌入式RK3588開發板的U-Boot經過深度定制優化,默認配置了合理的bootdelay等待時間,在U-Boot啟動過程中,需在自動啟動倒計時結束前,按下【空格鍵】或【Ctrl+C】中斷流程,進入交互式控制臺。

操作信息與示例如下:

Hit key to stop autoboot('Spacebar'): 0 0:Exit to console 1:Reboot 2:Display type =>

注意:若未及時按鍵,U-Boot將繼續執行自動啟動(加載內核),這時需重啟開發板后重新嘗試。

二、MMC設備(eMMC/TF卡)的文件讀寫

飛凌嵌入式RK3588開發板硬件上集成雙路MMC控制器,分別對應 eMMC與TF卡接口,且完美兼容eMMC 5.1規范及SD 3.0協議,支持 HS400高速傳輸模式與8bit/4bit數據總線寬度,為存儲設備的并行操作提供了硬件支撐。大家注意,對MMC設備進行文件讀寫需要遵循 “識別→切換→查詢→操作” 四步流程,具體步驟如下:

1. 查看MMC控制器

使用mmc list命令查看已初始化的MMC控制器(由設備樹預定義,通常0對應eMMC1對應TF卡),確認設備是否被識別:

=> mmc list //查看當前已初始化的MMC控制器 mmc@fe2c0000: 1 mmc@fe2e0000: 0 (eMMC)Device 'mmc@fe2c0000': seq 1 is in use by 'mmc@fe2c0000' mmc@fe2c0000: 1Device 'mmc@fe2e0000': seq 0 is in use by 'mmc@fe2e0000' mmc@fe2e0000: 0 =》

2. 切換MMC設備

使用mmc dev <設備號>命令切換至目標設備,設備號對應上一步查詢的控制器序號:

=> mmc dev 0 //切換為EMMC switch to partitions #0, OK mmc0(part 0) is current device => mmc dev 1 //切換為TF卡 switch to partitions #0, OK mmc0(part 0) is current device

3. 查看MMC設備信息

切換設備后,使用mmc info命令查看設備詳細參數(容量、總線寬度、接口版本等),eMMC與TF卡的信息示例分別如下:

(1) eMMC設備信息示例:

=> mmc info //EMMC的設備信息 Device: mmc@fe2e0000 Manufacturer ID: 15 OEM: 100 Name: CJTD4 Timing Interface: HS400 Enhanced Strobe Tran Speed: 200000000 Rd Block Len: 512 MMC version 5.1 High Capacity: Yes Capacity: 58.2 GiB Bus Width: 8-bit DDR Erase Group Size: 512 KiB HC WP Group Size: 8 MiB User Capacity: 58.2 GiB WRREL Boot Capacity: 4 MiB ENH RPMB Capacity: 4 MiB ENH

(2) TF卡設備信息示例:

=> mmc info //TF的設備信息 Device: mmc@fe2c0000 Manufacturer ID: 3 OEM: 5344 Name: SL16G Timing Interface: Legacy Tran Speed: 52000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 14.8 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes

4. 查看MMC設備分區

使用mmc part命令查看設備分區表(以eMMC為例,分區類型為EFI),獲取分區名、起始/結束地址等關鍵信息:

=> mmc part Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00004000 0x00005fff "uboot" attrs: 0x0000000000000000 type: da7a0000-0000-400e-8000-214900006be8 guid: ae050000-0000-417a-8000-728a000054cf 2 0x00006000 0x00007fff "misc" ...(省略部分分區)... 6 0x00078000 0x01c77fff "rootfs" // ?例中需操作的rootfs分區 ...

5. 查看文件系統內容

使用ext4ls <設備類型> <設備號:分區號>命令查看指定分區的目錄結構(示例:eMMC的第6分區rootfs):

=> ext4ls mmc 0:64096 .4096 ..16384 lost+found 7 bin4096 boot4096 dev ...(省略部分系統目錄)...4096 home // 目標文件所在上級目錄 ...

6. 讀取文件內容(以Hello.txt為例)

讀取rootfs分區中/home/forlinx/Hello.txt文件,需按“確認存在→選內存地址→加載文件→查看內容”四步操作:

(1) 確認文件存在:通過ext4ls驗證目標文件路徑有效性:

=> ext4ls mmc 0:6 home/forlinx4096 .4096 .. 14 Hello.txt // 目標文件(大小14字節)

(2) 確定可用內存地址:用bdinfo查看內存分布,選擇安全DDR區域:

=> bdinfo arch_number = 0x00000000 boot_params = 0x00000000 DRAM bank = 0x00000000 // 系統保留區,不建議使用 -> start = 0x00200000 -> size = 0x08200000 DRAM bank = 0x00000001 // 安全可用區 -> start = 0x09400000 -> size = 0xE6C00000 ...(省略其他硬件信息)...

注意!嚴禁使用系統保留內存(如DRAM bank 0),否則會導致U-Boot崩潰或數據損壞!

(3) 加載文件到內存:用ext4load將文件加載到指定內存地址:

=> ext4load mmc 0:6 0xA0000000 /home/forlinx/Hello.txt 14 bytes read in 5 ms (2 KiB/s)

(4) 查看內存中文件內容:用md.b <地址> <長度>讀取內存數據:

=> md.b 0xA0000000 0x10 a0000000: 48 69 2c 20 46 4f 52 4c 49 4e 58 21 21 0a ff fe Hi, FORLINX!!...

7. 修改文件內容(需啟用ext4write)

注意!U-Boot默認禁用ext4write命令(防止誤操作),需先在U-Boot源碼配置中開啟!

開啟功能后,支持兩種修改方式:

(1) 替換式修改(加載外部文件覆蓋)

// 假設修改后的文件已加載到內存0xA0000000 => ext4write mmc 0:6 0xA0000000 /home/forlinx/Hello.txt 0xe // 0xe=14字節(文件大?。?/p>

(2) 直接修改內存數據后寫入

// 1. 逐字節修改內存(地址0xA0000000開始) => mm.b 0xA0000000 A0000000: 48 ? //這代表地址 0xA0000000 當前值是 0x48(ASCII 'H')。 //你可以輸入新的十六進制值,然后回車。 例如把 “Hi, FORLINX!!” 改為 “Hi!\n”: => mw.b 0xA0000000 0x48 // 第1字節:'H' => mw.b 0xA0000001 0x69 // 第2字節:'i' => mw.b 0xA0000002 0x21 // 第3字節:'!' => mw.b 0xA0000003 0x0A // 第4字節:換行符'\n' => md.b 0xA0000000 0x20 // 2. 驗證修改結果 => md.b 0xA0000000 0x20 a0000000: 48 69 21 0a 46 4f 52 4c 49 4e 58 21 21 0a ff fe Hi!.FORLINX!!... // 3. 寫入文件系統 => ext4write mmc 0:6 0xA0000000 /home/forlinx/Hello.txt 0xe

三、USB設備(如U盤)的文件讀寫

USB設備為外部存儲,需先初始化USB子系統才能識別,步驟如下:

1. 初始化USB子系統

使用usb start命令啟動USB控制器并掃描設備,成功識別后會顯示存儲設備數量:

=> usb start starting USB... Bus usb@fc000000: usb maximum-speed not found Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 ...(省略USB初始化日志)... scanning usb for storage devices... 1 Storage Device(s) found // 識別到1個U盤

提示:若未識別到設備,需檢查U盤連接(建議插USB 2.0接口),或重新執行usb start命令。

2. 查看USB設備文件

U盤通常為FAT32格式,使用fatls usb <設備號>查看目錄內容(設備號默認從0開始):

=> fatls usb 0 System Volume Information/ // 系統隱藏目錄 16 sram_code.bin // 目標文件(大小16字節)

3. 讀取USB設備文件內容

使用fatload加載文件到內存,再用md.b查看內容:

// 1. 加載文件到內存 => fatload usb 0:1 0xA0000000 sram_code.bin //下載內容文件到內存 reading sram_code.bin 16 bytes read in 23 ms (0 Bytes/s) =>=> md.b 0xA0000000 0x10 //讀取內存地址上的內容 ,遇上邊一致 a0000000: 80 5a a5 d2 01 09 80 d2 01 00 00 f9 c0 03 5f d6 .Z............_.

四、需注意的關鍵事項

(1) 所有操作需在U-Boot控制臺執行,確保開發板已正常進入控制臺模式(非自動啟動流程);

(2) MMC設備常用命令為ext4ls/ext4load/ext4write(ext4格式),USB設備常用fatls/fatload(FAT格式),需根據文件系統選擇命令;

(3) 寫入操作(如ext4write)存在數據風險,建議在調試環境中使用,生產環境避免啟用;

(4) 若需在U-Boot源碼中集成文件操作,可調用U-Boot提供的API(如ext4_read_file()、usb_storage_probe()),需確保對應驅動已編譯。

以上就是如何在飛凌嵌入式RK3588開發板U-Boot控制臺階段,讀取eMMC、TF 卡、U盤等各類存儲設備文件內容的標準化方法,希望能夠對大家有所幫助。

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

    關注

    135

    文章

    9552

    瀏覽量

    391818
  • 嵌入式
    +關注

    關注

    5198

    文章

    20442

    瀏覽量

    333961
  • Linux
    +關注

    關注

    88

    文章

    11758

    瀏覽量

    219001
  • 開發板
    +關注

    關注

    26

    文章

    6289

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀

    開發工程師Damon的解答。 RK3588開發板的兩款產品分別為RK3588 EVB及RK3588S EVB。
    的頭像 發表于 09-22 15:54 ?2.3w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b><b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    搭載RK3588的迅為iTOP-3588開發板解讀

    搭載RK3588的迅為iTOP-3588開發板解讀 迅為RK3588開發板是基于瑞芯微RK3588
    的頭像 發表于 09-28 18:19 ?7475次閱讀
    搭載<b class='flag-5'>RK3588</b>的迅為iTOP-<b class='flag-5'>3588</b><b class='flag-5'>開發板</b>解讀

    RK3588開發板(armsom-w3)之PWM實操

    RK3588開發板(armsom-w3) 之 PWM實操
    的頭像 發表于 06-10 10:38 ?4032次閱讀
    <b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>(armsom-w3)之PWM實操

    Rockchip rk3588 U-Boot詳解 (二)

    Rockchip rk3588 U-Boot詳解 (二) 專欄總目錄 1.1 DM DM (Driver Model) 是 U-Boot 標準的 device-driver 開發模型,
    的頭像 發表于 06-13 10:49 ?4747次閱讀

    Banana Pi開源社區基于瑞芯微RK3588開發板,DeepSeek開發利器

    Banana Pi開源社區基于瑞芯微RK3588開發板,DeepSeek開發利器
    的頭像 發表于 02-19 18:25 ?3863次閱讀
    Banana Pi開源社區基于瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>,DeepSeek<b class='flag-5'>開發</b>利器

    RK3588 EVB 開發板介紹

    S EVB在接口及開發板尺寸上進行了優化,尺寸為20cmX14cm,適用于高端平板、AR/VR、個人移動互聯網設備等產品。圖:RK3588S EVB 系統框圖 RK3588S同樣配備
    發表于 03-16 16:39

    【飛凌RK3588開發板試用】源碼編譯

    開發環境主機:Ubuntu 20.04開發板:OK3588-C開發板1 準備源碼1.創建工作目錄$ mkdir -p ~/rk3588
    發表于 03-28 22:32

    Banana Pi BPI-W3 RK3588開發板基本使用文檔

    /arch/arm64/boot/dts/rockchip/目錄下。對于 armsom-w3 開發板來說,使用的設備文件為:rk3588
    發表于 11-02 12:33

    瑞芯微旗艦芯RK3588開發板開售 比亞迪為應達利頒獎

    瑞芯微旗艦芯RK3588開發板發售 比亞迪為應達利頒獎 瑞芯微旗艦芯RK3588開發板發售 近日,瑞芯微旗艦芯RK3588系列
    的頭像 發表于 03-25 19:23 ?5723次閱讀

    迅為RK3588開發板-基于瑞芯微RK3588攝像頭方案

    RK3588開發板
    的頭像 發表于 06-09 11:09 ?7426次閱讀
    迅為<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>-基于瑞芯微<b class='flag-5'>RK3588</b>攝像頭方案

    rk3588有哪些開發板?

    rk3588有哪些開發板 當前,rk3588開發板有RockPro64、Rock960 Plus、Rockchip Sapphire、Khadas VIM3 Pro和Firefly
    的頭像 發表于 08-15 17:04 ?3888次閱讀

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

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

    RK3588主板/開發板Android12系統APK簽名文件生成的方法,干貨滿滿

    本文介紹瑞芯微RK3588主板/開發板Android12系統下,APK簽名文件生成方法。觸覺智能RK3588
    的頭像 發表于 12-12 10:38 ?1502次閱讀
    <b class='flag-5'>RK3588</b>主板/<b class='flag-5'>開發板</b>Android12系統APK簽名<b class='flag-5'>文件</b>生成的<b class='flag-5'>方法</b>,干貨滿滿

    RK3588原理圖

    RK3588開發板原理圖文件
    發表于 02-24 15:57 ?61次下載

    深入解析RK3588 U-Boot文件:evb_rk3588.c核心邏輯拆解

    在嵌入式開發領域,瑞芯微RK3588憑借超強的算力、豐富的接口和廣泛的場景適配性,成為高端邊緣計算、消費電子項目的熱門選擇。而U-Boot作為嵌入式系統的“第一道門”,負責硬件初始化、引導內核啟動,其
    的頭像 發表于 02-24 15:24 ?761次閱讀
    深入解析<b class='flag-5'>RK3588</b> <b class='flag-5'>U-Boot</b><b class='flag-5'>板</b>級<b class='flag-5'>文件</b>:evb_<b class='flag-5'>rk3588</b>.c核心邏輯拆解