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

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

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 45 评论418 发布时间:2018-5-31 15:47
418个回答
radio2radio 回答时间:2020-7-10 22:14:03
abcd44 发表于 2020-6-17 19:50
8 m7 E" d7 C4 n2 @楼主你好!为何下载的软件复位固件没法用?芯片型号是stm32f103rbt6,对应的引脚定义为PB14->SWDIO,PB13-> ...

: ]: m$ n* w+ N- o不好意思,今天刚刚看到,您的问题解决了吗。
lzhang97 回答时间:2020-7-21 22:20:20
大佬,去年撸了两个芯圣的板子,调试器用的103c8,想把这个调试器扣下来刷成DAP,原来板子上串口用的uart3,程序怎么修改可以使用uart3啊
radio2radio 回答时间:2020-7-21 23:26:47
SUSTZL 发表于 2020-7-21 22:20
: {$ ?) X# k/ J. B& B% v2 {2 N大佬,去年撸了两个芯圣的板子,调试器用的103c8,想把这个调试器扣下来刷成DAP,原来板子上串口用的uart3 ...
2 d' b3 ^+ m, e" _- C1 @: v
这个似乎不难,利用全局查找私有代码,将所有UART2 / USART2相关的代码,改成UART3 / USART3试一试。
tdmn3374 回答时间:2020-7-29 17:04:04
好东西,感谢分享
拜仁主将 回答时间:2020-8-10 16:07:19
搞定了4 s1 E5 h3 ^* Z% h; k$ u! l
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引脚图:% E( A! E) O& j' j8 [
PZDAP.png
# _: a  [: V& V( m5 K# `9 h9 B0 D+ R0 F改动的代码:
5 L+ _: V% Y% o( q1 P( e7 |" S( EDAP_Config.h:
1 |1 U8 V4 \0 I4 [6 _' l4 J9 d#define SWO_UART                0
9 Q, m$ U# u9 `& K' u4 M1 d8 P
: h6 s' g5 }( |& k, l- k#define USART_CDC_CLOCK(state)      RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, state)
4 k8 f# G4 W3 D) A' m#define USART_CDC_GPIO_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, state)- d1 s5 N" I. }/ y- }
#define USART_CDC_REMAP()           /* GPIO_PinRemapConfig(..., ENABLE) */
3 a+ O( n4 l5 S) U1 z" m/ P5 O. m* M
#define USART_CDC_PORT        1     //USART18 i* a. A5 ?) l; f9 n
#define USART_CDC_GPIO        GPIOA
( C1 |: u+ J9 H+ T9 z+ T% p* ~* a#define USART_CDC_TX_PIN_MASK GPIO_Pin_9/ U* O7 z4 O9 Z' X! l
#define USART_CDC_RX_PIN_MASK GPIO_Pin_10
8 g9 g  B2 j4 E+ w#define USART_CDC_IRQn        USART1_IRQn
% c. I' Y4 I; o* v#define USART_CDC_IRQHandler  USART1_IRQHandler$ \  T% f! D* q; r4 W7 }! }
#define USART_CDC_BUFFER_SIZE (1024)  /*  Size of Receive and Transmit buffers MUST BE 2^n */& O- [( S# l8 t

- Z+ n3 I' ~6 p! X3 R
6 }4 N3 a6 ^8 L! }#define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN$ }2 n: |6 O% D
#define PIN_USB_CONNECT_PORT  GPIOA$ i; ?" }" l+ c+ s, h$ I# a9 c
#define PIN_USB_CONNECT_PIN   8
# F4 |! s: q8 |+ f7 _! ?. K/ B) w; }: u: a
5 I; c$ ]8 ?4 V7 P( F; ^& E# e% \
// TDI Pin (output)
8 m4 o; Q- D6 x9 O( y2 }#define PIN_TDI_PORT        GPIOA
5 e+ b6 H7 J% c1 e#define PIN_TDI_PIN         7
& e" W9 M$ J8 O, f, C: \3 `; {7 p$ `! k/ M+ N- \4 X# Y' @
// SWDIO/TMS Pin
1 n  R  ^4 k$ w) E- ?% N#define PIN_SWDIO_TMS_PORT  GPIOA
! D/ d9 j) L$ L' s% s. w#define PIN_SWDIO_TMS_PIN   15 }  g4 @+ g' U* E% i' V
* R7 h  f, [, d+ w$ v% M( t1 ^
// SWCLK/TCK Pin
$ j( [# c' O4 A& `9 o#define PIN_SWCLK_TCK_PORT  GPIOA
* ^, \  s5 S) X: j  D#define PIN_SWCLK_TCK_PIN   5
8 l0 B; ]: |- R) w: ~6 D
8 k1 T% E% b+ d( @' T! V; X* u4 ]// TDO/SWO Pin (input)              //remap USART1_Rx_Pin to PB7 for SWO
% H( x% b3 d3 X! a) B+ ^% Z( H#define PIN_TDO_PORT        GPIOB
) j: `& n" N. ^  t1 Z8 {7 b+ d+ p#define PIN_TDO_PIN         7
2 w# s, f7 J6 s5 _& x1 o5 O# z" |7 B1 A6 D2 _
// nRESET Pin
/ p3 ^4 x: r) Q' G#define PIN_nRESET_PORT     GPIOB
$ ?. y# c1 `2 `: V& g#define PIN_nRESET_PIN      0
4 Z; [1 ~) ~$ ^4 \4 x1 C" M
4 ?3 K* h- J5 u1 i: s
radio2radio 回答时间:2020-9-21 21:23:03
aogetuya 发表于 2020-8-17 21:00
, i  R" v9 j; W1 N$ I大佬,“CDC功能,使用串口2(PA2/PA3),已经改进。”,为什么要使用串口2?
% ^# ^; _" `/ }2 L( v" ]
因为串口1的Rx线被SWO/TDO占用了。
radio2radio 回答时间:2020-9-21 21:40:10
versenkt 发表于 2020-9-19 16:27
6 `: b- f0 R! o: f+ ?- e. S1 oLZ你好,我用的是普中的DAP仿真器。上面引出了串口1,所以想把串口1给CDC,把所有引脚量出来然后改了DAP_CO ...
6 o# x5 t; p1 z' B$ j; B
这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。
  t! i2 n/ v* T8 @, I1 [* o  Y3 i* F+ N% _. a% N, W8 i
由于SWO/TDO的引脚PB7,使用了USART1的Rx线的功能,您要改动VCP使用USART1,就要把SWO/TDO搬到USART2的Rx线去,或者禁止SWO和JTAG功能。 需要改动的地方比较多。
0 c3 E* u( v3 }6 \7 g/ l  Q) j! V3 N) Q( q$ W& z9 M4 y
如果,不想麻烦,建议另买一块Bluepill小板(研究源码),或者STLINKv2的山寨仿真器刷DAP(这个实用),都是十多元钱事儿。  q( T, T! _9 T
versenkt 回答时间:2020-9-23 08:11:40
radio2radio 发表于 2020-9-21 21:40
5 l, P5 d  P' S( q, Q$ S7 Y  j* w这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。
% K6 K( n( C. L, J' e
! D! N8 k1 a/ Y. M8 ~7 A由于SWO/TDO的引脚PB7,使用 ...

  H& ?9 I( W7 a2 d3 D/ d4 x好的,我再研究下,谢谢回复,主要是想废物利用下
laobiaixng 回答时间:2020-10-7 11:26:06
不错,正好手上有块核心板,做个DAP试试。
kaide 回答时间:2020-11-5 13:52:48
radio2radio 发表于 2018-10-14 02:01
6 l1 R$ l" M/ U- a7 L% J( L% O不好意思,今天才看到,匆匆做了一个,您先试一试。可能问题多多。. k4 h8 Z7 g7 m/ P$ N
  K& q% ^+ d0 S) {
我是用BOARD_V1的环境改出来的,发现 ...
9 h+ h8 b2 e/ |$ N7 L1 J" _, h
大佬,是我的板子芯片问题吗,我用好的DAPLINK给这个蓝色板子刷了好几个DAPlin固件都是不能在KEIL中识别到,但是电脑可以显示出U盘,和硬件管理那可以显示出串口,可以用疮口下载,就是不能在keil中识别,买了两块最小系统板板子都不能识别,有一个板子还是在优信买的。折腾了好久都没成功,怀疑是不是芯片问题
wth_arm 回答时间:2020-11-13 15:46:19
各位大吓,那一个版本的代码可以在UV4下编程使用,我用V2.0的链接出错。求大吓指点迷津
wth_arm 回答时间:2020-11-13 15:57:25
改用三楼的那个也是一样,编译没问题,链接出错。- n& D' O8 j$ o2 T
linking...' F% R  z& b3 q+ Q) |2 u
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
; B$ `3 @1 w$ e: r3 K, m8 c.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
' i  h; z. f' B& c/ y+ j- U.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
% o* _  O0 N( q  b0 ^4 O.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license0 @! }4 I# j, C& ]1 o
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
radio2radio 回答时间:2020-11-13 16:39:36
wth_arm 发表于 2020-11-13 15:46
; w4 w% j* h% }( U/ r' }& f1 X各位大吓,那一个版本的代码可以在UV4下编程使用,我用V2.0的链接出错。求大吓指点迷津 ...

8 a# l" G$ X2 Z1 n0 }' V. Z用MDKv5.xx试一试,安装MDKv4兼容包。

所属标签

相似技术帖

官网相关资源

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