韌體實作

程式鬼話|IAR CCS MPLAB X 功能差異

""Debug without download"" 的功能(只除錯不燒入的功能) 在某些驗證流程上蠻好用的 例如驗證寫入Flash

因為重燒通常都會清空記憶體,所以沒這功能驗證就會比較繞

![[06_Attachments_附件/方格子/臭G蛋程式/程式鬼話|IAR CCS MPLAB X 功能差異/8eaba005-45b9-463e-bdfb-11e1b889b32f.webp]]

ex:

假設驗證程式長這樣​🫣 第一次執行

Read() 空白沒燒入過晶片 這邊讀出來應該會是亂碼或全1

Write() 寫入數值 0xAA

Read() 要順利讀出寫入數值 0xAA/表示寫入有成功

斷電 第二次執行(不重燒)

Read()

Write() 斷點設定在這邊 上面讀出來 應該就是要 0xAA

Read()

但今天沒有Debug without download的功能時 每次都要重燒 用此邏輯驗證 那就永遠無法知道斷電後,數值是否有寫入成功

🖥️IAR

![[06_Attachments_附件/方格子/臭G蛋程式/程式鬼話|IAR CCS MPLAB X 功能差異/6c2f456c-957c-45c6-aa1c-f55f70c27d4a.webp]]

按下白底綠色箭頭就好 debug 蠻方便的

🖥️CCS20 (TI系列產品)

IDE上有debug & startdebug功能 但好像都一樣會先重新燒入程式再跑

[解法]

CC2340R5 可以透過改lunch.json來達成 (之後補充 有問題可以先留言) MSP430 系列無法(我是用FR2311) 這系列要用其他方式驗證 (參考FR2311-FRAM篇 連結) 若是不斷電的重跑程式,可靠重新執行來驗證(下圖)

![[06_Attachments_附件/方格子/臭G蛋程式/程式鬼話|IAR CCS MPLAB X 功能差異/ec6b5adc-1aba-4e6c-bf68-7c2b3ba51712.webp]]

🖥️MPLAB X 看起來沒有debug without download功能 問過FAE似乎不需要這功能 好像是download不會動到儲存的位置(待查證) 不過我實際上驗好像沒啥問題


延伸閱讀

繼續讀同一個主題

這裡收錄 G蛋一路工作、學習與生活留下的整理,可以從下方前後篇繼續閱讀。

查看 方格子 原文