前言:
兩周前,眺望電子發布了最新RK3576-S核心板的預告,搭載LPDDR5和UFS這一組合引起了不少用戶的關注,同時也收到不少關于存儲搭配的疑問。本文結合內測調試經驗以與客戶需求為大家剖析其中關鍵點。
眺望電子RK3576-S核心板支持LPDDR5,考慮硬件復用性,核心板可選貼UFS和EMMC存儲器顆粒,因此會衍生出四種配置場景:

空貼UFS,LPDDR5+EMMC配置;
空貼EMMC,LPDDR5+UFS配置;
同時存在UFS和EMMC,以EMMC為系統磁盤,UFS作為擴展存儲器;
同時存在UFS和EMMC,以UFS為系統磁盤,EMMC作為擴展存儲器;
如上四種場景均需軟硬件協同修改,以下以最復雜的 “UFS 與 EMMC 共存且 EMMC 為系統盤” 場景為例,詳解原理與操作方法。
一、問題描述
當 RK3576-S 核心板同時搭載 UFS 與 EMMC 時,會出現兩個異常現象:
1、芯片首次上電,固件默認燒寫至 UFS 而非 EMMC;
2、即使 UFS 燒寫固件成功,系統上電仍無法啟動,始終進入 maskrom 模式。

二、硬件分析
問題根源在于易被忽視的:BOOT啟動項配置
SARADC_IN0_BOOT 專用于 SYSTEM BOOT 啟動順序的設置,不能用于其它功能,通過上下拉電阻分壓采樣得到的值,用來判斷從哪個接口進行 BOOT,設置如下表:(Rup/Rdown 代表上、下拉電阻)
我司RK3576-S核心板SARADC_IN0_BOOT 引腳內部上下拉配置為Config 10狀態,對應啟動順序為EMMC->SDMMC0->USB。
這就導致:若 EMMC 為空(未燒寫固件),即使 UFS 已燒寫固件,系統仍會因優先檢測 EMMC 失敗而進入 maskrom 模式。
若要設置UFS為系統磁盤,必須保證SYSTEM BOOT配置中UFS比EMMC的啟動優先級高。硬件調整方法也很簡單:根據下表更換上下拉電阻阻值。

對于場景【3】來說,光調整硬件可還不行,uboot也是關鍵。
三、Uboot分析
芯片進入燒寫模式時,默認走usbplug的uboot。查看啟動usbplug的啟動log發現系統只掃描到UFS就進行啟動了,并沒有掃描EMMC。

定位到SDK/u-boot/arch/arm/mach-rockchip/usbplug.c文件中bootdev_rockusb_cmd函數會根據dev_list數組定義的順序來依次對存儲介質進行初始化等操作,如果掃描到對應的存儲設備就會直接從該存儲介質中啟動,也就是將固件燒寫到該存儲介質中。
從dev_list數組可以看到初始化存儲介質的順序為SCSI(UFS)->MMC(EMMC)。

所以對于有UFS顆粒和EMMC顆粒的核心板,當掃描到UFS存儲介質之后,就會退出循環,不再對EMMC等存儲介質進行掃描。

最后將掃描到的存儲介質類型和設備號組合成“rockusb 0 xxx x”命令,最終在board_init函數中運行此命令,將固件燒寫到對應的存儲中。

四、軟件修改
要實現默認燒寫固件到EMMC中而不是UFS中,需要讓系統掃描到UFS后只做初始化,不退出循環,直到掃描到EMMC才退出循環,因此需要對bootdev_rockusb_cmd函數做以下修改:

修改后需要重新編譯usbplug,以下操作均在u-boot目錄下實現:
#編譯usbplug./make.sh CROSS_COMPILE=/home/talowe/talowe-rk3576-linux-v1.01/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- rk3576-usbplug
#拷貝usbplug.bin到rkbin替換對應文件cpusbplug.bin ../rkbin/bin/rk35/rk3576_usbplug_v1.04.bin
打包固件,以下操作均在SDK根目錄下實現:
#重新編譯uboot和loader./build.sh uboot
#打包整包固件./build.sh updateimg
五、驗證
將打包生成的整包固件燒寫,有以下打印證明固件被燒寫到EMMC中:

如上則是針對同時存在UFS和EMMC,以EMMC為系統磁盤,UFS作為擴展存儲器的軟硬件完整修改方案了。掌握此邏輯后,可類比調整其他三種存儲配置場景的軟硬件參數。
1.文檔中存儲顆粒的品牌、料號可能隨市場供應調整,以實際采購為準;
2. UFS 固件下載工具及操作指南,可聯系我司客服人員獲取;
3. RK3576-S 核心板為標準品,建議選型時明確存儲配置,避免自行調整導致售后問題。
-
存儲
+關注
關注
13文章
4716瀏覽量
89674 -
核心板
+關注
關注
6文章
1354瀏覽量
31838 -
rk3576
+關注
關注
1文章
230瀏覽量
1395
發布評論請先 登錄
全場景適配:RK3576核心板的行業應用價值圖鑒
從實驗室到產業端:RK3576核心板如何成為多領域“香餑餑”
EAI3576-Core-T(RK3576 核心板)產品數據全解
新品預告 | LPDDR5,小尺寸RK3576-S工業級核心板即將來襲
瑞芯微RK3576與RK3576S有什么區別,性能參數配置與型號差異解析
瑞芯微RK3576核心板規格書,具體參數與配置信息,B2B連接器封裝,觸覺智能IDO-SOM7608-V1
適配多種系統,米爾瑞芯微RK3576核心板解鎖多樣化應用
米爾RK3576核心板適配多種系統,解鎖多樣化應用

突破RK3576-S核心板存儲限制:UFS/EMMC雙存儲啟動邏輯剖析
評論