你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【源代码】ST-LINK V2仿真器改CMSIS-DAP/DAPLink,带有SWO和CDC功能  

[复制链接]
radio2radio 发布时间:2018-6-9 11:52
阅读主题, 点击返回1楼
赞 收藏 15 评论100 发布时间:2018-6-9 11:52
100个回答
radio2radio 回答时间:2019-10-11 14:46:33
fantasyhpu 发表于 2019-10-11 14:39" T9 A6 a; ]5 m! h1 f2 \
感谢,我的板子上的MCU是STM32F405VET6
6 O9 z/ N) }" I; z$ s
这就是DAPLink的短板,要实现对F405进行拖拽下载,你所用的DAPLink固件,必须内含F405的编程算法,这就需要修改固件,详细一点的解释,请参考:
: W- y+ h1 Z* \2 ?* khttps://www.stmcu.org.cn/module/forum/thread-621670-1-3.html
3 J/ R$ B4 y* g! @! u4 K8 n6 q  N$ n
fantasylankao 回答时间:2019-10-11 15:01:08
radio2radio 发表于 2019-10-11 14:46
1 c" V: u' E/ i; G) s( D: F% ~这就是DAPLink的短板,要实现对F405进行拖拽下载,你所用的DAPLink固件,必须内含F405的编程算法,这就需 ...

: K$ E4 N* Q) ^8 \感谢您的回复,确实DAPLINK还不明晰,我还是先放一放。
fantasylankao 回答时间:2019-10-11 15:45:54
突然想起了,若用CMSIS-DAP,怎样对目标芯片直接烧录bin或hex呢?STLINKV2有STM32 ST-LINK Utility软件可用,但是这个软件不识别CMSIS-DAP。
radio2radio 回答时间:2019-10-11 16:14:36
fantasyhpu 发表于 2019-10-11 15:45
. \/ @; V" u4 u3 c/ O突然想起了,若用CMSIS-DAP,怎样对目标芯片直接烧录bin或hex呢?STLINKV2有STM32 ST-LINK Utility软件可用 ...

* I& j" V0 N0 z3 t: _. N因为我使用MDK/Keil,没有这个问题,都是刷axf文件。 如果遇到bin/hex,我就用STLINK或者JLINK。
. a8 a1 r( `7 J4 i9 h2 G
. P( j2 z1 a5 O0 t8 T* r如果只有CMSIS-DAP要刷bin/hex文件,就要找一个支持CMSIS-DAP的,又有目标MCU烧录算法的“离线烧录/脱机烧录”的上位机软件,网上有很多,好像有的功能强大(比如可以写串码),很遗憾我一种也没有使用过。
fantasylankao 回答时间:2019-10-11 21:11:13
radio2radio 发表于 2019-10-11 16:142 T! B. N4 \5 n) j
因为我使用MDK/Keil,没有这个问题,都是刷axf文件。 如果遇到bin/hex,我就用STLINK或者JLINK。
3 O  _. B& C/ N; h  y7 a& \# ~: q+ I# w  O
如果只 ...
8 v4 c; E5 A* q" \
感谢
雪落青松 回答时间:2019-12-2 16:26:45
成功了c8下的stlinkv2,我的c8是128kB的但是用st官方附件升级不成功,说是内存太小。
waiman 回答时间:2020-2-9 01:21:38
因为旧设备是使用STM32F1的Boot0功能,通过串口的RTS,DTR控制下载的。1 n0 K! w+ n4 {1 l! |+ @8 q' }
想在这个DAP上增加RTS,DTR信号,修改了一下代码:+ w' u6 B. Q2 U  e
DTR_RTS.png 0 K" t% H6 r4 ?7 T7 y

: T( S, g1 v- p' j# t+ z(猜测正常情况下)串口的打开/关闭、DTR/RTS信号改变,都应该会调用 USBD_CDC_ACM_PortSetControlLineState()这个函数。- Y  l2 E4 s6 I8 e  k
问题就出现在,DTR变化能调用到这个函数,RTS信号变花却没有调用。但可以从函数的参数上,看到上位机的RTS状态变化。也就是说USB底层没把RTS状态改变列入这个回调函数中。想问一下这个USB底层有开源吗?
9 _1 k+ T3 U% E# y! F1 l9 q# H- R! D/ Z( F# J9 _6 e; Y

1 X* N' f5 t% j$ U7 V: d' |8 G, @; f5 S5 K3 F& R; @
radio2radio 回答时间:2020-2-9 10:58:38
waiman-156411 发表于 2020-2-9 01:218 S- g  i1 @3 d# T! u
因为旧设备是使用STM32F1的Boot0功能,通过串口的RTS,DTR控制下载的。% u0 q# p' @# q1 D: r" g$ n
想在这个DAP上增加RTS,DTR信号,修改 ...

" |) W" w+ h" M2 U  H" D8 DUSB的底层使用ARM的USB库函数 USB_CM3.lib , 好像不是开源的:
: R* R* E' R5 K  D' h1 [2 qhttp://www.keil.com/support/man/docs/rlarm/rlarm_usb_files.htm& M; P9 B; U7 Q2 K5 J) q5 y, O* l
http://www.keil.com/support/man/docs/rlarm/rlarm_lib_files.htm3 f& T0 w6 t# X5 B! u* l" @
allenz110 回答时间:2020-2-21 10:37:17
试一下,刚好是这款MCU
三界狗 回答时间:2020-3-9 01:22:20
在BluePill上烧录程序,虚拟串口识别出来了,但CMSIS-DAP没有
radio2radio 回答时间:2020-3-9 01:39:51
三界狗 发表于 2020-3-9 01:22
, F$ R; K! c3 L* Z在BluePill上烧录程序,虚拟串口识别出来了,但CMSIS-DAP没有

- ]# R- Q5 {. J; w6 X应该没有问题的。 BluePill有两种固件,用法不同,您把问题说详细一点。
三界狗 回答时间:2020-3-9 13:36:53
radio2radio 发表于 2020-3-9 01:39# W( ]" d5 @2 U( y: j% c2 q* s
应该没有问题的。 BluePill有两种固件,用法不同,您把问题说详细一点。

, }( c, \, J# z8 ^) W! }& e: u3 Z烧录BluePill版的程序,接上USB,能识别出虚拟串口,但在MKD上选择CMSIS-DAP调试器并且设置成SW模式,找不到芯片,提示SWD/JTAG Communication Failure
radio2radio 回答时间:2020-3-9 15:34:18
三界狗 发表于 2020-3-9 13:360 e) N9 E! B* d( p: q' a8 m
烧录BluePill版的程序,接上USB,能识别出虚拟串口,但在MKD上选择CMSIS-DAP调试器并且设置成SW模式,找 ...
0 T* k* X2 B: L% h/ G
你的硬件连接有问题。
三界狗 回答时间:2020-3-10 00:39:04
radio2radio 发表于 2020-3-9 15:349 y! F6 `9 m) p
你的硬件连接有问题。
$ K1 q* F7 \- k$ ~; P
那就有点奇怪了,都是按照代码中的提示:SWD/TMS-PB9, SWC/TCK-PB8接的,检查过杜邦线没有问题。。。
radio2radio 回答时间:2020-3-10 09:48:48
三界狗 发表于 2020-3-10 00:39* x" I3 V: q3 {
那就有点奇怪了,都是按照代码中的提示:SWD/TMS-PB9, SWC/TCK-PB8接的,检查过杜邦线没有问题。 ...

  F4 L; C6 I& J$ E9 W总之固件肯定没有问题,因为许多人都能用,我自己也是测试过的。+ d0 I9 Z" u; ], O* e

2 K. x( X* |- T; U$ ?: @( ?设置窗口的【SWJ】要选择上。如果你有多几块目标板,可以更换着试一试,把杜邦线分开试一试。) Q* V4 w6 l; o, |# T

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版