iot-fan

联系: iotfan123#163.com
注意:
1,本博客之内容来源于网上收集以及相关技术人员提供,如果有侵犯到您的权益,请电邮我沟通;
2,本博客之内容乃分享,交流,学习,研究之目的,作者不对内容的真实性,有效性,及时性负责,也不对因本博客的任何内容导致的任何后果负责;
3,本博客之内容禁止转发到CSDN网站,转到别的网站请保留出处.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

本文目的

  • 本文主要分享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

posted on 2021-10-18 11:20  iot-fan  阅读(5191)  评论(0编辑  收藏  举报