打包出現:ERROR: update_mbr failed
24993+0 records in
24993+0 records out
6398208 bytes (6.4 MB) copied, 0.0271082 s, 236 MB/s
ERROR: dl file rtos_riscv.fex size too large
ERROR: filename = rtos_riscv.fex
ERROR: dl_file_size = 1579 sector
ERROR: part_size = 1000 sector
ERROR: update mbr file fail
ERROR: update_mbr failed
這是因為 rtos_riscv.fex
太大了,分區容量設置過小。
解決方法
- 確定打包使用的分區表
運行打包命令,找到打包使用發分區表。例如這里使用的是 sys_partition_xip.fex
- 編輯分區表
使用 cconfigs
命令進入目錄,找到打包使用的分區表,編輯修改
- 找到上面報錯的行,修改
size
選項,單位是扇區。對于 NOR 方案請對齊。這里我們修改到7000
- 重新打包,正常通過
修改分區表后系統無法啟動
有些時候,修改 sys_partition_xxx.fex
后系統無法啟動,例如將 config
的大小從 32
改到 64
后,系統無法啟動卡死。
這是由于擴大分區后踩到內存了,一般配置 LPSRAM 前面 2M 給 M33 核使用,M33 的代碼運行在前面 2M 上,另外這 2M 中的前 16K 是sysconfig
配置。
可以看到 M33 系統的啟動地址為 0x8004000
但是 config
現在有 32K 載入到了 0x8000000-0x8008000
的內存中,覆蓋了 M33
的部分內存,這樣一般叫做 "踩內存"。
解決方法:
- 精簡該分區,刪除不需要的配置項
保持 config
大小為 32
,刪除不需要的配置項目減少 config
的大小。
- 修改 M33 核心的運行地址,這里將 M33 核心往后移動了一部分,將啟動地址配置到
0x8008000
,同時注意修改內存長度防止踩到 C906 核心的內存,將0x1FC000
改為0x1F8000
。
這樣就不會踩到內存導致啟動失敗。正常啟動。
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
mcu
+關注
關注
146文章
16525瀏覽量
346774 -
全志
+關注
關注
24文章
224瀏覽量
52881 -
R128
+關注
關注
0文章
41瀏覽量
71
發布評論請先 登錄
相關推薦
DshanMCU-R128s2 R128 模組
R128-S2-N16R16 R128-S2 Arm Cortex-M33 C906 RISC-V HIFI5 DSP 1MByte 8Mbyte 8Mbyte 16M NOR Flash 2 Audio
DshanMCU-R128s2芯片手冊與資料
: Xplorer Software (SDK) Download Xtensa Xplorer 授權申請: Cadence Tensilica Offerings Xtensa Xplorer 試用申請: request an evaluation license 其余手冊將在R128芯片正式發布后上傳
DshanMCU-R128s2芯片參數
MB LS PSRAM R128 S2)/8 channels (R128 S3) - One LEDC used to control the external intellige
DshanMCU-R128s2硬件設計參考
R128 DevKit 開發板 硬件工程開源地址:https://oshwhub.com/gloomyghost/r128-module 電路圖
DshanMCU-R128s2術語表
RISC-V 架構的 64 位元處理器單元 HIFI5 Cadence 推出的 Cadence Tensilica HiFi 5 DSP 32 位處理器單元 R128 全志推出的一款包含
DshanMCU-R128s2啟動與資源劃分
下面簡單介紹一下 R128 方案的資源劃分與啟動流程。 資源劃分 CPU 資源劃分 這只是默認配置方案,CPU 資源劃分可以按照需求任意修改 CPU 功能說明 M33 控制核。運行 WI-FI/BT
DshanMCU-R128s2 配置引腳復用
解析 sys_config.fex 的驅動配置位于 licheertos-componentsawsys_config_script 中。 對于配置引腳復用,只需要修改 boardr128s2{PROJECT}configsys_config.fex 文件即可。 GPIO描述
DshanMCU-R128s2 Hello World!
載入方案選擇 r128s2_module_c906 $ source envsetup.sh $ lunch_rtos 1 編輯程序 打開你喜歡的編輯器,修改文件: lichee/rtos
DshanMCU-R128s2 SDK 架構與目錄結構
R128 S2 是全志提供的一款 M33(ARM)+C906(RISCV-64)+HIFI5(Xtensa) 三核異構 SoC,同時芯片內部 SIP 有 1M SRAM、8M LSPSRAM、8M
DshanMCU-R128s2 R128 DevKit 開發板
針對 R128 模組,百問科技推出了 R128 DevKit 開發板作為快速開發評估工具。 特性: 板載 R128-S2-N16R16 模組 板載 2.4G RF 陶瓷天線 板載 USB Type
DshanMCU-R128s2-DEVKIT應用開發案例
本文章為DshanMCU-R128s2-DEVKIT應用開發案例,本文案例(點亮一顆 LED 燈)代碼可以到全志在線-在線文檔或者復制鏈接前往下載。
評論