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

【源代码】STM32F103C8T6最小板搞定CMSIS-DAP和SWO功能  

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 45 评论418 发布时间:2018-5-31 15:47
418个回答
abcd44 回答时间:2020-6-17 19:44:08
楼主你好!  下载的带软复位功能的固件电脑识别不出来硬件怎么回事?芯片是stm32f103rbt6的,接口定义为PB14->SWDIO,PB13->SWCLK,PA9->对应双色LED,PA2->TX,PA3->RX,能否麻烦再留个固件呢?不胜感激
abcd44 回答时间:2020-6-17 19:50:16
楼主你好!为何下载的软件复位固件没法用?芯片型号是stm32f103rbt6,对应的引脚定义为PB14->SWDIO,PB13->SWCLK,PA9对应双色LED,PA2->TX,PA3->RX,麻烦楼主在留个固件,不胜感激!
radio2radio 回答时间:2020-7-10 22:14:03
abcd44 发表于 2020-6-17 19:50! k" W/ u2 q! [' w6 c  R
楼主你好!为何下载的软件复位固件没法用?芯片型号是stm32f103rbt6,对应的引脚定义为PB14->SWDIO,PB13-> ...
( A. r3 h8 v) |6 ~$ l+ ]- y  A
不好意思,今天刚刚看到,您的问题解决了吗。
lzhang97 回答时间:2020-7-21 22:20:20
大佬,去年撸了两个芯圣的板子,调试器用的103c8,想把这个调试器扣下来刷成DAP,原来板子上串口用的uart3,程序怎么修改可以使用uart3啊
radio2radio 回答时间:2020-7-21 23:26:47
SUSTZL 发表于 2020-7-21 22:204 v7 ]3 U5 f+ j$ n) w  n% j; ^: @% z
大佬,去年撸了两个芯圣的板子,调试器用的103c8,想把这个调试器扣下来刷成DAP,原来板子上串口用的uart3 ...

, @5 c. ~" T" T1 t这个似乎不难,利用全局查找私有代码,将所有UART2 / USART2相关的代码,改成UART3 / USART3试一试。
tdmn3374 回答时间:2020-7-29 17:04:04
好东西,感谢分享
拜仁主将 回答时间:2020-8-10 16:07:19
搞定了
2 }9 q1 q: {& r& J. {& ]( T
aogetuya 回答时间:2020-8-17 21:00:29
大佬,“CDC功能,使用串口2(PA2/PA3),已经改进。”,为什么要使用串口2?
versenkt 回答时间:2020-9-19 16:27:37
LZ你好,我用的是普中的DAP仿真器。上面引出了串口1,所以想把串口1给CDC,把所有引脚量出来然后改了DAP_CONFIG.H,现在SWD正常,PC也能识别出VCP,但是没办法正常收发。 串口工具发几条就会死掉,RXTX短上也没有数据。串口应该是没问题的,给它刷固件就用的flash loader demo 串口刷的。是还要改动什么地方吗?测出来的MCU引脚图:
- l$ \% Z! S4 j: f& P+ Y PZDAP.png 0 S- B2 h2 \, ~# \' |( v
改动的代码:
7 f/ S) h+ G. a6 NDAP_Config.h:
2 w$ N/ W8 b( V#define SWO_UART                0
0 s0 Z0 T! N( C) q
% J# n: o8 j. {3 f#define USART_CDC_CLOCK(state)      RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, state)! s' S7 B% d$ \' X' ?+ Y
#define USART_CDC_GPIO_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, state)
6 E  `: {6 Q- q#define USART_CDC_REMAP()           /* GPIO_PinRemapConfig(..., ENABLE) */9 [) z- ]* C% A- i8 o6 C. d

) V. x' \0 E/ n$ K% p  k#define USART_CDC_PORT        1     //USART1
6 n* q/ Q# U. b9 ?#define USART_CDC_GPIO        GPIOA' n7 A" V* [5 X; I" ]+ b
#define USART_CDC_TX_PIN_MASK GPIO_Pin_9
- P& s9 k# \+ B  H#define USART_CDC_RX_PIN_MASK GPIO_Pin_10: c6 C1 `$ V- j6 C! o  b2 k; p* G- I% a
#define USART_CDC_IRQn        USART1_IRQn  ~: U; n. N! B3 S; b
#define USART_CDC_IRQHandler  USART1_IRQHandler
% M  s& A& c$ c1 C$ G% F#define USART_CDC_BUFFER_SIZE (1024)  /*  Size of Receive and Transmit buffers MUST BE 2^n */
, B, }1 }. N' P5 v6 `  I* k4 ~9 }+ R. H

* Z! E; o4 V7 A; J. ^0 e#define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN" @& N. W; a" g( V  M, M
#define PIN_USB_CONNECT_PORT  GPIOA6 R7 R/ f( O8 R+ s
#define PIN_USB_CONNECT_PIN   80 J5 }$ U% v; w9 @- ?
) ~; T+ W. n/ d3 f' y, G3 U$ i
  i+ n. V- u) c" p
// TDI Pin (output)
# k' C2 K8 {+ p' W6 P. v& w#define PIN_TDI_PORT        GPIOA" F; C" ^" N# n
#define PIN_TDI_PIN         7
* P& s" y0 s/ L8 m7 _3 }# ?& V
) Y4 v0 l5 n& R& A# n// SWDIO/TMS Pin
) x. z. w  U' }& a: X#define PIN_SWDIO_TMS_PORT  GPIOA" D. |: G1 T- N, {& r
#define PIN_SWDIO_TMS_PIN   1. O% x! c1 f: r0 d! f! i5 W

( f, W7 D1 _* M% b! |$ h: J// SWCLK/TCK Pin& B- W/ {, m4 b! k1 t0 {
#define PIN_SWCLK_TCK_PORT  GPIOA! ^6 Q; d5 I; E. d; Z
#define PIN_SWCLK_TCK_PIN   5/ u5 W; c* ~2 V/ i" G

- D' _! ~# H9 k  b) D) k; Q+ U$ h+ G& }0 h// TDO/SWO Pin (input)              //remap USART1_Rx_Pin to PB7 for SWO2 P( E8 O8 N) b! j3 z1 u
#define PIN_TDO_PORT        GPIOB, k' T0 ]+ o% F: f9 H: o) x2 Z
#define PIN_TDO_PIN         7/ @0 f0 \" n$ {/ s" [* h; a

# d3 v: I$ m" m, \// nRESET Pin
  c6 A9 Y( p$ v- ]: N4 w#define PIN_nRESET_PORT     GPIOB6 \* V: r" Z' U3 ^, }  i
#define PIN_nRESET_PIN      0
) \. V' J. H3 \5 V" Y3 B/ V0 c! j6 \; \$ J( Y& M* M" i. K& \* K
radio2radio 回答时间:2020-9-21 21:23:03
aogetuya 发表于 2020-8-17 21:00- O* L* @; Y$ c# |) e, n
大佬,“CDC功能,使用串口2(PA2/PA3),已经改进。”,为什么要使用串口2?

" z0 s% R6 Y3 ]1 d9 f% u/ W; S因为串口1的Rx线被SWO/TDO占用了。
radio2radio 回答时间:2020-9-21 21:40:10
versenkt 发表于 2020-9-19 16:27! c" m7 Q2 e8 ^# S* J
LZ你好,我用的是普中的DAP仿真器。上面引出了串口1,所以想把串口1给CDC,把所有引脚量出来然后改了DAP_CO ...
+ G* u; i" A' E* J5 M, ]' ~, U
这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。
# Y/ K+ _2 X" W2 V$ M, J
$ h1 J( t6 B3 |* ]0 }由于SWO/TDO的引脚PB7,使用了USART1的Rx线的功能,您要改动VCP使用USART1,就要把SWO/TDO搬到USART2的Rx线去,或者禁止SWO和JTAG功能。 需要改动的地方比较多。9 j$ B: o# ]0 T8 d

6 ], F+ E+ |: c3 R( L6 ~0 o' t) c如果,不想麻烦,建议另买一块Bluepill小板(研究源码),或者STLINKv2的山寨仿真器刷DAP(这个实用),都是十多元钱事儿。
. d* N0 S5 i7 }5 G
versenkt 回答时间:2020-9-23 08:11:40
radio2radio 发表于 2020-9-21 21:40
& O/ m$ \) r. U: K/ X! q这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。" G$ x* E# Y; b2 e; V
! l& N8 H; |. R9 i4 l" N2 T
由于SWO/TDO的引脚PB7,使用 ...
6 q9 D- i& w% A! |8 i# T, P& ~! \
好的,我再研究下,谢谢回复,主要是想废物利用下
laobiaixng 回答时间:2020-10-7 11:26:06
不错,正好手上有块核心板,做个DAP试试。
kaide 回答时间:2020-11-5 13:52:48
radio2radio 发表于 2018-10-14 02:01$ s6 O& A; z& E/ W3 t, z8 J1 J
不好意思,今天才看到,匆匆做了一个,您先试一试。可能问题多多。6 z: o6 ~% K4 I6 C) G8 v  H

# V4 n9 K: F  h我是用BOARD_V1的环境改出来的,发现 ...

5 x: G! T/ B' M  [) S大佬,是我的板子芯片问题吗,我用好的DAPLINK给这个蓝色板子刷了好几个DAPlin固件都是不能在KEIL中识别到,但是电脑可以显示出U盘,和硬件管理那可以显示出串口,可以用疮口下载,就是不能在keil中识别,买了两块最小系统板板子都不能识别,有一个板子还是在优信买的。折腾了好久都没成功,怀疑是不是芯片问题
wth_arm 回答时间:2020-11-13 15:46:19
各位大吓,那一个版本的代码可以在UV4下编程使用,我用V2.0的链接出错。求大吓指点迷津

所属标签

相似分享

官网相关资源

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