13093188206 发表于 2024-8-20 20:46:33

单片机串口下载仿真/USB口下载仿真/SWD口下载仿真三种模式优缺点分析

一.串口下载仿真:

1.下载:需要使用USB转TTL模块,下载时需要先点击ISP软件上的下载/编程按钮,再给单片机上电才能下载成功。
2.仿真:需在ISP软件右侧的keil仿真设置里选择使用串口进行仿真,并将所选目标单片机设置为仿真芯片,并在keil的debug选项中选择对应COM口和115200的波特率才能正常进行仿真,设置如图:




注意:在串口模式将芯片设置为仿真芯片后,下次必须要通过USB口下载才能正常恢复ISP下载功能!此时无法通过串口再下载了!另外串口仿真会占用edata的最后的768 Bytes。


二、USB口下载仿真
1.下载:通过电脑USB口的D+和D-直接连到单片机的P3.0和P3.1上并供电,当P3.2为低电平时给单片机断电再上电,电脑即可识别到USB口,直接点击点击下载/编程按钮就可以正常下载。
2.仿真:需在ISP软件右侧的keil仿真设置里选择使用USB口进行仿真,并将所选目标单片机设置为仿真芯片,并在keil的debug选项中选择USB即可正常进行仿真,设置如图:




3.在仿真模式下,在keil中进行程序更改后可直接点击load按钮下载以及直接仿真,但点击load按钮下载后程序不会运行,只要点击仿真按钮,在仿真里选择全速运行程序才能正常执行;如果需要程序点击load后能直接运行并且不用仿真功能,在keil中勾选该设置即可,如图:

注意:在USB模式将芯片设置为仿真芯片后,下次必须要通过USB口下载才能正常恢复ISP下载功能!此时无法通过串口再下载了!另外USB口仿真会占用edata的最后的768 Bytes。


三、SWD口下载仿真
1.下载:将 USB Link1D 按线序连接电脑后,电脑可自动识别USB驱动,在ISP软件上直接点击下载/编程按钮即可。
2.仿真:需在ISP软件右侧的keil仿真设置里选择使用SWD口进行仿真,并将所选目标单片机设置为仿真芯片,并在keil的debug选项中选择SWD,Speed:600kHz即可正常进行仿真,设置如图:




3.使用仿真器的优点是:不占用单片机任何资源,使用keil时可直接点击load下载运行,也可直接仿真,非常方便!缺点是要购买仿真器。


总结:
1.不建议使用传统串口下载模式,下载/仿真不方便,设置仿真芯片后还不好进行ISP下载,且占用edata资源。
2.建议使用USB口下载或SWD口下载的方式,对于经常使用的人来说,强烈建议配备一个仿真器,方便下载调试,还不占用单片机资源。




机灵小老鼠 发表于 2024-8-20 22:40:26

写的很好,让我搞清楚了 SWD 仿真 原来是要用 LINK1D的,我原以为是芯片自带的功能,谢谢!

qqzgq 发表于 2024-9-11 16:38:53

使用串口下载后,后面如果想切换回普通的ISP ,不需要接U口啊,我用的是STC8H1K08T,这个本身就不能USB下载,只需要像以前正常的下载操作,就可以了

qqzgq 发表于 2024-9-11 16:40:02

请问楼主,使用串口下载,总是提示找不到目标硬件,该怎么解决另外仿真时,是否可以观察到变量的事实值,

13093188206 发表于 2024-9-14 16:33:00

qqzgq 发表于 2024-9-11 16:40
请问楼主,使用串口下载,总是提示找不到目标硬件,该怎么解决另外仿真时,是否可以观察到变量的事实值, ...

串口下载需要冷启动,也就是点击下载按钮后给单片机的VCC断一下再上电,USB转TTL模块的TXD要有二极管,RXD要有限流电阻;仿真时打断点可以观察实时值,要求是全局变量才行

lgwd 发表于 2024-9-14 16:54:01

串口下载和仿真很好用啊!十多年一直在用。优点是减少中间环节!有时寻找异常问题时,怀疑这怀疑哪!首先就是怀疑外围器件和连线。STC的模块都不贵,不在乎价钱!仿真一定是建立在排除少量的错误基础上!一步一步。有人认为只要有了仿真,一下子能解决几百个错误,这可能吗?好些错误都是相互联系的。从编程开始,写一小段就编译一下,甚至关键语句写一两行代码就编译一下。调试也是!不能指望写了几百行,一次就能调试成功!对于熟手,仿真调试真不是主要手段!

soma 发表于 2024-9-14 19:57:34

感觉stc的硬件仿真不是很好,如果能像其他的那样不占用资源,不用下载仿真固件,直接硬件仿真器就更好了。

naura 发表于 2024-10-11 09:16:21

STC8H1K08怎么使用SWD仿真呢?用C251建工程吗?

13093188206 发表于 2024-10-16 20:15:59

naura 发表于 2024-10-11 09:16
STC8H1K08怎么使用SWD仿真呢?用C251建工程吗?

这个系列的应该用的还是C51建工程就行了

AI芯 发表于 2024-10-17 11:14:15

naura 发表于 2024-10-11 09:16
STC8H1K08怎么使用SWD仿真呢?用C251建工程吗?

用C51建工程。仿真可以参考此贴:
仿真STC8,【USB Link1D】支持32G/8H/8G/8A系列仿真及下载 !视频讲解
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=752
(出处: 国芯技术交流网站)
页: [1]
查看完整版本: 单片机串口下载仿真/USB口下载仿真/SWD口下载仿真三种模式优缺点分析