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

【源代码】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$ M2 f  V: e1 y3 ^- I
感谢,我的板子上的MCU是STM32F405VET6
7 v% {& O8 O+ g" ^1 f9 a
这就是DAPLink的短板,要实现对F405进行拖拽下载,你所用的DAPLink固件,必须内含F405的编程算法,这就需要修改固件,详细一点的解释,请参考:
7 y4 G! Q+ i' X) W0 ?/ r3 @https://www.stmcu.org.cn/module/forum/thread-621670-1-3.html
# K) N5 |. j+ q* c' c6 q8 g
fantasylankao 回答时间:2019-10-11 15:01:08
radio2radio 发表于 2019-10-11 14:46
5 g& N7 c+ u. p" O5 c这就是DAPLink的短板,要实现对F405进行拖拽下载,你所用的DAPLink固件,必须内含F405的编程算法,这就需 ...
4 u3 M: ^; p# s8 M% w& f) M
感谢您的回复,确实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
8 o1 h: k/ q  [; w( r9 n突然想起了,若用CMSIS-DAP,怎样对目标芯片直接烧录bin或hex呢?STLINKV2有STM32 ST-LINK Utility软件可用 ...
9 ?; f1 D7 j) ^
因为我使用MDK/Keil,没有这个问题,都是刷axf文件。 如果遇到bin/hex,我就用STLINK或者JLINK。
+ _" o# |% {/ [- o1 z. E6 m) e0 Z
7 T6 U  l: |" U7 j如果只有CMSIS-DAP要刷bin/hex文件,就要找一个支持CMSIS-DAP的,又有目标MCU烧录算法的“离线烧录/脱机烧录”的上位机软件,网上有很多,好像有的功能强大(比如可以写串码),很遗憾我一种也没有使用过。
fantasylankao 回答时间:2019-10-11 21:11:13
radio2radio 发表于 2019-10-11 16:14
, e$ p  I5 c* T: ?4 \因为我使用MDK/Keil,没有这个问题,都是刷axf文件。 如果遇到bin/hex,我就用STLINK或者JLINK。3 o# N6 @4 c  T5 @
8 B( z3 z3 e+ j
如果只 ...

5 H* x* T6 _% x$ L; o感谢
雪落青松 回答时间:2019-12-2 16:26:45
成功了c8下的stlinkv2,我的c8是128kB的但是用st官方附件升级不成功,说是内存太小。
waiman 回答时间:2020-2-9 01:21:38
因为旧设备是使用STM32F1的Boot0功能,通过串口的RTS,DTR控制下载的。. c8 |% `  Z7 Z# P# r, Y' A
想在这个DAP上增加RTS,DTR信号,修改了一下代码:4 }" f9 S& t" z$ Z+ i- S
DTR_RTS.png
7 g2 h/ q2 i) d/ R7 z+ _, Q4 s8 _$ O. I8 e
6 E8 L, ^) \- Z$ r4 D; q(猜测正常情况下)串口的打开/关闭、DTR/RTS信号改变,都应该会调用 USBD_CDC_ACM_PortSetControlLineState()这个函数。
+ X: d) [0 A2 M8 t问题就出现在,DTR变化能调用到这个函数,RTS信号变花却没有调用。但可以从函数的参数上,看到上位机的RTS状态变化。也就是说USB底层没把RTS状态改变列入这个回调函数中。想问一下这个USB底层有开源吗?
, z  N; D6 s$ y8 r4 l; X' e' H5 H0 H8 T  s8 D0 P& F# p

1 v0 C4 p8 [) I" t
& h' ?% O  L# ], W) G* u4 W
radio2radio 回答时间:2020-2-9 10:58:38
waiman-156411 发表于 2020-2-9 01:21* G9 v* ~5 k3 S: S5 G
因为旧设备是使用STM32F1的Boot0功能,通过串口的RTS,DTR控制下载的。
8 k* h; @% T0 k' I想在这个DAP上增加RTS,DTR信号,修改 ...

+ u) {& d  |( IUSB的底层使用ARM的USB库函数 USB_CM3.lib , 好像不是开源的:
- n8 H( H* R9 n) Y- \9 e1 q) nhttp://www.keil.com/support/man/docs/rlarm/rlarm_usb_files.htm
0 Q) F5 k; x7 @/ Nhttp://www.keil.com/support/man/docs/rlarm/rlarm_lib_files.htm. q* G5 T; s* y# C+ r
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
; r. z! u# G( u+ _$ E3 t) a/ H% Q在BluePill上烧录程序,虚拟串口识别出来了,但CMSIS-DAP没有

0 H. M8 B7 x9 t9 ^6 l应该没有问题的。 BluePill有两种固件,用法不同,您把问题说详细一点。
三界狗 回答时间:2020-3-9 13:36:53
radio2radio 发表于 2020-3-9 01:39
; t9 R9 D7 [( d应该没有问题的。 BluePill有两种固件,用法不同,您把问题说详细一点。

! }# M; u, c! \: z# r- j( y烧录BluePill版的程序,接上USB,能识别出虚拟串口,但在MKD上选择CMSIS-DAP调试器并且设置成SW模式,找不到芯片,提示SWD/JTAG Communication Failure
radio2radio 回答时间:2020-3-9 15:34:18
三界狗 发表于 2020-3-9 13:36
1 A. L5 D/ d' x9 L" e烧录BluePill版的程序,接上USB,能识别出虚拟串口,但在MKD上选择CMSIS-DAP调试器并且设置成SW模式,找 ...
1 M( A% e  Q3 F3 _- F  o
你的硬件连接有问题。
三界狗 回答时间:2020-3-10 00:39:04
radio2radio 发表于 2020-3-9 15:341 U2 h* I8 a$ }( |: }! f' `
你的硬件连接有问题。

, j0 T8 B9 ~$ C9 q/ n那就有点奇怪了,都是按照代码中的提示:SWD/TMS-PB9, SWC/TCK-PB8接的,检查过杜邦线没有问题。。。
radio2radio 回答时间:2020-3-10 09:48:48
三界狗 发表于 2020-3-10 00:39
% i* p" i: j2 H" ~那就有点奇怪了,都是按照代码中的提示:SWD/TMS-PB9, SWC/TCK-PB8接的,检查过杜邦线没有问题。 ...

/ ~3 w2 T) G& V: g+ o4 ?2 a总之固件肯定没有问题,因为许多人都能用,我自己也是测试过的。
  P  d$ O' N9 N
7 v3 v  G7 Q' d8 T设置窗口的【SWJ】要选择上。如果你有多几块目标板,可以更换着试一试,把杜邦线分开试一试。& R5 v' C+ j; {0 n

所属标签

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