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

【源代码】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
, t  R0 H) X8 ?# l3 G, f, w# }- u' {* W感谢,我的板子上的MCU是STM32F405VET6
. z& R6 y$ s8 d+ v: V. j3 |
这就是DAPLink的短板,要实现对F405进行拖拽下载,你所用的DAPLink固件,必须内含F405的编程算法,这就需要修改固件,详细一点的解释,请参考:# v& m- l* [0 k; Z0 L( h# f6 {
https://www.stmcu.org.cn/module/forum/thread-621670-1-3.html
) q* g( V8 M0 }: w( ~
fantasylankao 回答时间:2019-10-11 15:01:08
radio2radio 发表于 2019-10-11 14:46
# d1 B, [, ^( H. N% L6 b4 O& W6 v9 @. X这就是DAPLink的短板,要实现对F405进行拖拽下载,你所用的DAPLink固件,必须内含F405的编程算法,这就需 ...
8 u- g0 _; }) j3 ~: v
感谢您的回复,确实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$ ~" ^7 e  T% M, |7 M) ^7 O$ c5 x
突然想起了,若用CMSIS-DAP,怎样对目标芯片直接烧录bin或hex呢?STLINKV2有STM32 ST-LINK Utility软件可用 ...
8 B+ W8 c* [3 i
因为我使用MDK/Keil,没有这个问题,都是刷axf文件。 如果遇到bin/hex,我就用STLINK或者JLINK。0 w4 M, I0 g) l* D% Y0 _- r  l
! O6 |5 s6 G9 f' E
如果只有CMSIS-DAP要刷bin/hex文件,就要找一个支持CMSIS-DAP的,又有目标MCU烧录算法的“离线烧录/脱机烧录”的上位机软件,网上有很多,好像有的功能强大(比如可以写串码),很遗憾我一种也没有使用过。
fantasylankao 回答时间:2019-10-11 21:11:13
radio2radio 发表于 2019-10-11 16:143 w) H* D) i3 O% q4 \5 T( {6 `: L
因为我使用MDK/Keil,没有这个问题,都是刷axf文件。 如果遇到bin/hex,我就用STLINK或者JLINK。
4 S! S. ^& N' V# O+ W1 t2 T3 @0 P! {
如果只 ...

* t' D3 c1 Q9 a/ C( ]! E感谢
雪落青松 回答时间:2019-12-2 16:26:45
成功了c8下的stlinkv2,我的c8是128kB的但是用st官方附件升级不成功,说是内存太小。
waiman 回答时间:2020-2-9 01:21:38
因为旧设备是使用STM32F1的Boot0功能,通过串口的RTS,DTR控制下载的。
! H+ D& S* m, Q, q想在这个DAP上增加RTS,DTR信号,修改了一下代码:
6 i' H4 {) J$ s DTR_RTS.png
$ ?5 I. x+ N! \" b) g6 _
6 a) w5 w; C3 [0 c. h(猜测正常情况下)串口的打开/关闭、DTR/RTS信号改变,都应该会调用 USBD_CDC_ACM_PortSetControlLineState()这个函数。
+ q2 L4 r0 k) s问题就出现在,DTR变化能调用到这个函数,RTS信号变花却没有调用。但可以从函数的参数上,看到上位机的RTS状态变化。也就是说USB底层没把RTS状态改变列入这个回调函数中。想问一下这个USB底层有开源吗?# N+ C1 k) Q4 x: i( ?
7 y4 y# L) M* P# y5 v' b

0 K% l# c! r/ E9 o) J/ s3 l: H, C" a1 I; F
radio2radio 回答时间:2020-2-9 10:58:38
waiman-156411 发表于 2020-2-9 01:21
! G' w0 P) x8 [因为旧设备是使用STM32F1的Boot0功能,通过串口的RTS,DTR控制下载的。. L' ]3 L4 w; q1 A
想在这个DAP上增加RTS,DTR信号,修改 ...

+ e1 x; b0 T3 \1 G/ WUSB的底层使用ARM的USB库函数 USB_CM3.lib , 好像不是开源的:
$ ]& \( Q7 f; r9 X0 m$ e9 p! hhttp://www.keil.com/support/man/docs/rlarm/rlarm_usb_files.htm+ b( `! A0 `9 S, }% N3 u
http://www.keil.com/support/man/docs/rlarm/rlarm_lib_files.htm
6 A0 J! I1 _0 d) @+ }7 U6 D. ^
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
( Y2 k: d2 h- I5 J+ ?! B# t在BluePill上烧录程序,虚拟串口识别出来了,但CMSIS-DAP没有
: r. p6 {' D$ G" P. E( y( u
应该没有问题的。 BluePill有两种固件,用法不同,您把问题说详细一点。
三界狗 回答时间:2020-3-9 13:36:53
radio2radio 发表于 2020-3-9 01:39
( _" A& g$ Y+ h- k应该没有问题的。 BluePill有两种固件,用法不同,您把问题说详细一点。
4 b: ^9 j& S% L, w7 a) Y
烧录BluePill版的程序,接上USB,能识别出虚拟串口,但在MKD上选择CMSIS-DAP调试器并且设置成SW模式,找不到芯片,提示SWD/JTAG Communication Failure
radio2radio 回答时间:2020-3-9 15:34:18
三界狗 发表于 2020-3-9 13:36
) O; L) `: B- {8 p' d6 w烧录BluePill版的程序,接上USB,能识别出虚拟串口,但在MKD上选择CMSIS-DAP调试器并且设置成SW模式,找 ...

- O6 g& |3 b* J% L7 I你的硬件连接有问题。
三界狗 回答时间:2020-3-10 00:39:04
radio2radio 发表于 2020-3-9 15:342 n$ u. v. Z' Q$ h+ Y0 S
你的硬件连接有问题。
4 F. n; j8 ?+ d) v- C
那就有点奇怪了,都是按照代码中的提示:SWD/TMS-PB9, SWC/TCK-PB8接的,检查过杜邦线没有问题。。。
radio2radio 回答时间:2020-3-10 09:48:48
三界狗 发表于 2020-3-10 00:39
! C& B6 X$ @$ b那就有点奇怪了,都是按照代码中的提示:SWD/TMS-PB9, SWC/TCK-PB8接的,检查过杜邦线没有问题。 ...

) }5 i* i6 U8 {: Y8 e总之固件肯定没有问题,因为许多人都能用,我自己也是测试过的。
$ U* g, f1 w! R/ d. p
) r4 {- g) T0 p- y( A设置窗口的【SWJ】要选择上。如果你有多几块目标板,可以更换着试一试,把杜邦线分开试一试。
$ U1 m$ T5 Z* j& h

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版