CH573/CH571/CH583/CH582/CH581 在線調試/仿真相關


本文目的

  • 本文主要分享wch的CH57x,ch58x 系列的risc-v芯片的在線仿真相關方法,以及注意事項

適用芯片

軟件環境

支持的仿真工具

  • WCH-link(base on CH549)
  • WCH-linkE(base on CH32V305)
    (注意這里的仿真協議為wch 專有協議,非arm-swd協議,所以只能適用wch提供的WCH-link 進行仿真,不支持其他第三方的工具)

注意事項

  • 使用USB/UART下載后 SWD下載會自動關閉,如需要使用需要再次打開;
  • 低功耗下,SWD會被禁用,導致芯片不能響應SWD,從而下載/調試失敗;
  • WCH-link版本跟MRS的版本是強相關的
  • 無法通過SWD或者在應用程序關閉SWD,需要在wchisp工具中關閉,所以強烈不建議使用SWD去做批量生產(不建議使用SWD 做生產燒錄)

使用步驟

1.使能芯片的仿真

默認的芯片是開啟仿真功能的,但是一旦經過ISP工具下載后,仿真功能就會關閉,所以一般來說,我們需要先要在ISP模式下使能芯片的仿真功能:


如果ISP進入方法,以及問題排查,可以參考文章:https://www.cnblogs.com/iot-fan/p/13498088.html

2.硬件鏈接

CH573/571 58x 系列芯片仿真器連接的IO在PB14/PB15上,分別對應:

  • PB14 TIO 即為SWDIO
  • PB15 TCK 即為SWCLK
  • 電源
    image

3.調試器插入電腦

設備管理器顯示下面兩個設備,無嘆號,表示識別成功,否則請按照 (>MounRiver_Studio\ExTool\WCH-Link使用說明.pdf 排查問題)

4.調試

連接好硬件后,點擊工程上面的仿真按鈕啟動仿真.
(速度比較慢,大概只有幾K 一秒,如果是BLE的工程動輒100多個K,這一步可能需要等待幾十秒(wch-link2.1 版本后速度似乎提高了不少,有8k那樣) ,所以調試BLE工程不到萬不得已,一般不使用在線仿真)
(在一些時序要求嚴格的場景,往往也不好用仿真,比如USB通信,BLE通信, 一旦打個端點,通信時序就異常了)
image
上面的過程無問題,會彈出下面的界面:
image

5.使用SWD只下載

6.重設調試配置

問題排查

1.CH581/582/583 下了某個代碼后再也下不進去代碼了,就像線沒連好一樣.

有時候,我們因為低功耗,或者其他原因,導致CH583/582/581 的SWD被禁用或者干擾到了,導致SWD 一直連接不上,這時候我們需要把之前的代碼破壞掉,阻止其運行后就可以恢復仿真:
1>,進入isp下載模式,使用WCHisptool 下載一個任意的HEX/或者bin文件,然后芯片會關閉仿真;
2>,再次進入isp下載模式,再次使能芯片的仿真,這時候從非仿真到仿真模式,flash代碼會進行清空,這時候影響swd下載的代碼就會被清掉啦.
*>,(已經跟wch聯系過,后面wchisptool進入仿真可能會加入強制擦除flash,這樣我們只需再次點使能仿真就可以了)

2.外設的寄存器看不到

有時候,調試的時候,我們看不到芯片的寄存器的值,這時候可能是debug配置有問題,可以按照下面去添加SVD文件即可
image
image
MounRiver Studio IDE 提供的SVD文件默認路徑參考:

./MounRiver_Studio/template/wizard/WCH/ARM/CH32F103/NoneOS/CH32F103xx.svd
./MounRiver_Studio/template/wizard/WCH/ARM/CH56X/NoneOS/CH56Xxx.svd
./MounRiver_Studio/template/wizard/WCH/ARM/CH57X/NoneOS/CH57Xxx.svd
./MounRiver_Studio/template/wizard/WCH/RISC-V/CH32V103/NoneOS/CH32V103xx.svd
./MounRiver_Studio/template/wizard/WCH/RISC-V/CH32V303/NoneOS/CH32V303xx.svd
./MounRiver_Studio/template/wizard/WCH/RISC-V/CH32V305/NoneOS/CH32V305xx.svd
./MounRiver_Studio/template/wizard/WCH/RISC-V/CH32V307/NoneOS/CH32V307xx.svd
./MounRiver_Studio/template/wizard/WCH/RISC-V/CH56X/NoneOS/CH56Xxx.svd
./MounRiver_Studio/template/wizard/WCH/RISC-V/CH57X/NoneOS/CH57Xxx.svd
./MounRiver_Studio/template/wizard/WCH/RISC-V/CH58X/NoneOS/CH58Xxx.svd

然我我們重新進行仿真,即可看到外設寄存器信息啦
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM