來自 SD 卡的 DFU

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

我有一個使用 WROOM-02,PSOC 6 和 SD 卡的設備,我正在設計一個過程,將以故障安全的方式更新 SD 卡,ESP 固件和 PSOC 固件上的工作文件。 截至目前,我計劃通過 BLE 發送進行系統更新所需的所有文件(新的 ESP 固件,PSOC 固件和新的可用 SD 卡文件),並將其存儲在 SD 卡上,然後讓 PSOC 處理從 SD 卡以及 ESP 固件更新自己的固件並更新新的可用 SD 卡文件系統。

我的問題是從 SD 卡更新 PSOC 固件。 我目前的方向是使用 dfuh-tool 示例代碼來解析 cyacd2 文件和 DFU 中間件示例代碼從引導加載程序刷新 PSOC,但這並不理想,因為:

  1. cyacd2 文件的大小是需要的兩倍,因為數據都以 ascii 格式存儲,因此發送更新文件需要兩倍的時間。
  2. 我覺得我浪費了很多時間將主機代碼和目標代碼合併在一起,並且必須有一個更簡單的方法-比如只是將 bin 文件複製到閃存中。

有沒有人有任何建議,以更好的方法來完成這個? 或者也許有一個工具可以做到這一點?

任何幫助表示讚賞。 謝謝!

喬希

2 回應
Translation_Bot
Community Manager
Community Manager
Community Manager

事實證明,CYACD2 格式實際上非常簡單,逐行讀取文件並將程序數據放入閃存非常容易。 為了節省 BLE 傳輸的時間,我仍然可能會將 cyacd2 文件分成更壓縮的 bin 數據文件和元數據文件。

文件格式在第 58 頁

https://www.infineon.com/dgdl/Infineon-AN213924_PSoC_6_MCU_Device_Firmware_Update_Software_Developme...

0
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @joshm ,

您CAN 解釋一下該項目的流程嗎?還要清楚我們什麼是項目中的主機代碼和目標代碼,以及為什麼要合併它們?

PS 如果您共享框圖,這將是有幫助的。

 

問候,

羅漢

0