STC32的硬件SWD仿真-初学者写的学习心得

鉴于仿真驱动做了升级,有些仿真的步骤可以省略,所以开了升级版的仿真步骤贴(此贴是在冲哥原贴的基础上做的升级,冲哥原贴:STC32的硬件SWD仿真,使用STC-USB Link1D仿真器 - 编译器/仿真器/ISP下载/做自己的ISP/ID号加密/程序加密后传输 国芯论坛  https://www.stcaimcu.com/forum.php?mod=viewthread&tid=210&extra=page%3D1,感谢冲哥的无私奉献!)

1.务必先去官网下载最新的STC-ISP软件,截止至目前最新版本是STC-ISP6.91J),因为新版本会优化掉一些历史遗留问题,特别是仿真这块,STC-ISP6.91J)的stcmon51仿真驱动程序版本已更新至v1.18,经内部反复测试已经非常稳定。(下载地址:工具软件-深圳国芯人工智能有限公司  https://www.stcai.com/gjrj

插图1

 

2.STC-USB Link1D连接电脑,然后添加STC仿真器的固件和芯片型号到KEIL(此步骤建议在每次ISP下载软件更新时都重新添加一次,以免仿真驱动更新,另KEIL也建议装在C盘中)

插图23

 

3.建议手动更新一下固件,此时切记STC-USB Link1D仿真器不要连接我们的单片机!!(注意下这里的设置主控和清除数据两个步骤的操作顺序),成功更新固件或者清楚数据都会有相应的提示。

插图45

 

4.此时连接我们的单片机,然后进行如下的设置就可以通过ISP软件正常下载程序了。(注意一下这里的IRC频率一定要和程序里设置的主时钟一样!!

插图67

5.如果提示下载成功但是板子上没有运行,原因是没有勾选下图的“在线下载完成后持续给目标芯片供电”选项,勾选后则能看到板子上面程序在运行

插图8

 

6. 以上步骤为下载程序的步骤,旨在测试工具和芯片是否能正常使用。现在开始进行仿真的步骤,先设置为仿真芯片,STC32G12K128目前仅支持SWD仿真,选择型号后会默认使用SWD口进行仿真(STC32G8K64STC32F以及后续出的STC32系列不仅支持SWD仿真也支持串口仿真,且串口仿真不占用用户的串口资源)。(这里选择了P3.0/3.1作为仿真端口,所以程序里不能出现任何占用3.03.1引脚的功能,此楼最后的仿真注意事项贴中也会说明,像什么USB-CDC之类的就先不要用了,先用点亮一个LED的程序进行测试,比较容易观察结果!

插图9

 

7.成功制作完仿真芯片之后一定要去掉当目标文件变化时自动装在并发送下载命令的勾勾,或者关闭软件(后台一起关闭),不然编译完程序就会自动下载在把仿真程序覆盖掉。之后打开KEIL C251 进行下述操作(冲哥这个步骤说要断一下mcu的电源,由于STC-ISPv6.91J)及之后的版本仿真驱动更新,内部已实现了自动断电再上电,如果是S-Vcc给用户系统供电,则在制作完仿真芯片之后无需给MCU断电再上电,在仿真时勾不勾选“在线下载完成后持续给目标芯片供电”选项也都无影响。但是如果不是S-Vcc给用户系统供电,则在制作完仿真芯片之后还需要给MCU断电再上电。):

插图101112(为冲哥帖子内原图)

 

8.这样就可以编译并且调试了(如何在keil中创建工程不在此贴详述

插图13(为冲哥帖子内原图)

https://www.stcaimcu.com/data/attachment/forum/202212/01/110037k53mxlfzji6360ck.png

 

9.出现下面这个界面,说明已经成功的进入了仿真模式,然后就可以用变量监测,断点等等的功能

插图1415(为冲哥帖子内原图)

https://www.stcaimcu.com/data/attachment/forum/202212/01/110037ot1a2ahdv76whghg.png

https://www.stcaimcu.com/data/attachment/forum/202212/01/110037ot1a2ahdv76whghg.png

 

10.如果想编译后直接下载程序也可以,不进DEBUG模式,如下操作就可以下载程序(注:这个步骤冲哥帖子里说要断电才能下载,新版软件已经不需要断电)

插图16(为冲哥帖子内原图)

https://www.stcaimcu.com/data/attachment/forum/202212/01/110038ny4m08iae0mkancn.png

首页    常见问题    STC32的硬件SWD仿真-初学者写的学习心得