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

【源代码】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
3 @: E. U& T' t# b, B感谢,我的板子上的MCU是STM32F405VET6

0 B+ F+ S0 ?' B8 y2 |这就是DAPLink的短板,要实现对F405进行拖拽下载,你所用的DAPLink固件,必须内含F405的编程算法,这就需要修改固件,详细一点的解释,请参考:$ C+ r  d; m$ r# {8 P2 _4 _
https://www.stmcu.org.cn/module/forum/thread-621670-1-3.html
# G+ S3 Z( Y0 Y! s& m
fantasylankao 回答时间:2019-10-11 15:01:08
radio2radio 发表于 2019-10-11 14:464 i+ y1 t2 i7 P
这就是DAPLink的短板,要实现对F405进行拖拽下载,你所用的DAPLink固件,必须内含F405的编程算法,这就需 ...
, {1 @7 E" V: w! S! ]9 R. B
感谢您的回复,确实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
3 l( H- `8 |: N. u突然想起了,若用CMSIS-DAP,怎样对目标芯片直接烧录bin或hex呢?STLINKV2有STM32 ST-LINK Utility软件可用 ...
  X1 N  \1 l# o' Y" v8 O6 L9 h7 B9 W
因为我使用MDK/Keil,没有这个问题,都是刷axf文件。 如果遇到bin/hex,我就用STLINK或者JLINK。6 |7 O% P1 u, Z( @4 k

; J* A9 Y/ T3 l# ~1 {& e如果只有CMSIS-DAP要刷bin/hex文件,就要找一个支持CMSIS-DAP的,又有目标MCU烧录算法的“离线烧录/脱机烧录”的上位机软件,网上有很多,好像有的功能强大(比如可以写串码),很遗憾我一种也没有使用过。
fantasylankao 回答时间:2019-10-11 21:11:13
radio2radio 发表于 2019-10-11 16:14
% e5 Q$ K; a& ^. g1 Y因为我使用MDK/Keil,没有这个问题,都是刷axf文件。 如果遇到bin/hex,我就用STLINK或者JLINK。
2 c+ k$ e6 [$ b1 A
- b: o* E9 \5 a. j) A/ d. E+ r9 b如果只 ...

( R! o+ D2 [2 Z3 @. W6 {感谢
雪落青松 回答时间:2019-12-2 16:26:45
成功了c8下的stlinkv2,我的c8是128kB的但是用st官方附件升级不成功,说是内存太小。
waiman 回答时间:2020-2-9 01:21:38
因为旧设备是使用STM32F1的Boot0功能,通过串口的RTS,DTR控制下载的。
- r# ^: ~& b$ S/ c" X0 F$ t2 c想在这个DAP上增加RTS,DTR信号,修改了一下代码:6 a/ A2 y/ k( f0 B: j& o' E
DTR_RTS.png
; \: I; T* m  n1 z+ W+ I( x( z+ ^0 ^- p2 I/ ?
(猜测正常情况下)串口的打开/关闭、DTR/RTS信号改变,都应该会调用 USBD_CDC_ACM_PortSetControlLineState()这个函数。9 i5 v' t- @1 p8 P
问题就出现在,DTR变化能调用到这个函数,RTS信号变花却没有调用。但可以从函数的参数上,看到上位机的RTS状态变化。也就是说USB底层没把RTS状态改变列入这个回调函数中。想问一下这个USB底层有开源吗?9 r. l0 Y! Y: P6 S# a' B5 ?8 U7 L
2 V9 o0 {+ G2 v( o  J0 U
3 b8 n. E! x) U2 P- Q

- Q9 c$ i5 @# s$ h% T
radio2radio 回答时间:2020-2-9 10:58:38
waiman-156411 发表于 2020-2-9 01:21$ g; D! j& h2 m0 w
因为旧设备是使用STM32F1的Boot0功能,通过串口的RTS,DTR控制下载的。
5 q0 H$ }/ x) h# A7 l想在这个DAP上增加RTS,DTR信号,修改 ...

5 P5 P& I1 F' @# XUSB的底层使用ARM的USB库函数 USB_CM3.lib , 好像不是开源的:, u5 X$ O% e. u' d2 i( U
http://www.keil.com/support/man/docs/rlarm/rlarm_usb_files.htm2 o6 H, x9 A% o$ q3 c7 e0 M" F( Q+ U" _7 i
http://www.keil.com/support/man/docs/rlarm/rlarm_lib_files.htm
( ^' j4 z/ G% i* j' G3 I
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:221 N" N1 S6 n7 y( T6 |: e* ]
在BluePill上烧录程序,虚拟串口识别出来了,但CMSIS-DAP没有
9 ?6 S$ o7 T3 t$ i1 u
应该没有问题的。 BluePill有两种固件,用法不同,您把问题说详细一点。
三界狗 回答时间:2020-3-9 13:36:53
radio2radio 发表于 2020-3-9 01:39
5 D% t7 P- ^: w# V6 r应该没有问题的。 BluePill有两种固件,用法不同,您把问题说详细一点。
3 D8 m+ g3 @: C, @' n) k: n
烧录BluePill版的程序,接上USB,能识别出虚拟串口,但在MKD上选择CMSIS-DAP调试器并且设置成SW模式,找不到芯片,提示SWD/JTAG Communication Failure
radio2radio 回答时间:2020-3-9 15:34:18
三界狗 发表于 2020-3-9 13:36+ c9 `' q3 }( e: h
烧录BluePill版的程序,接上USB,能识别出虚拟串口,但在MKD上选择CMSIS-DAP调试器并且设置成SW模式,找 ...
$ v8 X6 k, G& a) [
你的硬件连接有问题。
三界狗 回答时间:2020-3-10 00:39:04
radio2radio 发表于 2020-3-9 15:34
( Y8 f1 ?! e! G你的硬件连接有问题。
4 K! |% e. U( g
那就有点奇怪了,都是按照代码中的提示:SWD/TMS-PB9, SWC/TCK-PB8接的,检查过杜邦线没有问题。。。
radio2radio 回答时间:2020-3-10 09:48:48
三界狗 发表于 2020-3-10 00:39) J: Z4 ]* m$ G' c
那就有点奇怪了,都是按照代码中的提示:SWD/TMS-PB9, SWC/TCK-PB8接的,检查过杜邦线没有问题。 ...
( N1 ]% _; U# q  B
总之固件肯定没有问题,因为许多人都能用,我自己也是测试过的。: ?' X4 V( g; c" m  s: s$ `) W
7 X( O; p5 g: s2 p: y" q9 x: H
设置窗口的【SWJ】要选择上。如果你有多几块目标板,可以更换着试一试,把杜邦线分开试一试。
9 U& B: ^5 I( C! Z* T

所属标签

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