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

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

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 43 评论399 发布时间:2018-5-31 15:47
399个回答
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引脚图:
PZDAP.png
改动的代码:
DAP_Config.h:
#define SWO_UART                0

#define USART_CDC_CLOCK(state)      RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, state)
#define USART_CDC_GPIO_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, state)
#define USART_CDC_REMAP()           /* GPIO_PinRemapConfig(..., ENABLE) */

#define USART_CDC_PORT        1     //USART1
#define USART_CDC_GPIO        GPIOA
#define USART_CDC_TX_PIN_MASK GPIO_Pin_9
#define USART_CDC_RX_PIN_MASK GPIO_Pin_10
#define USART_CDC_IRQn        USART1_IRQn
#define USART_CDC_IRQHandler  USART1_IRQHandler
#define USART_CDC_BUFFER_SIZE (1024)  /*  Size of Receive and Transmit buffers MUST BE 2^n */


#define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN
#define PIN_USB_CONNECT_PORT  GPIOA
#define PIN_USB_CONNECT_PIN   8


// TDI Pin (output)
#define PIN_TDI_PORT        GPIOA
#define PIN_TDI_PIN         7

// SWDIO/TMS Pin
#define PIN_SWDIO_TMS_PORT  GPIOA
#define PIN_SWDIO_TMS_PIN   1

// SWCLK/TCK Pin
#define PIN_SWCLK_TCK_PORT  GPIOA
#define PIN_SWCLK_TCK_PIN   5

// TDO/SWO Pin (input)              //remap USART1_Rx_Pin to PB7 for SWO
#define PIN_TDO_PORT        GPIOB
#define PIN_TDO_PIN         7

// nRESET Pin
#define PIN_nRESET_PORT     GPIOB
#define PIN_nRESET_PIN      0

radio2radio 回答时间:2020-9-21 21:23:03
aogetuya 发表于 2020-8-17 21:00
大佬,“CDC功能,使用串口2(PA2/PA3),已经改进。”,为什么要使用串口2?

因为串口1的Rx线被SWO/TDO占用了。
radio2radio 回答时间:2020-9-21 21:40:10
versenkt 发表于 2020-9-19 16:27
LZ你好,我用的是普中的DAP仿真器。上面引出了串口1,所以想把串口1给CDC,把所有引脚量出来然后改了DAP_CO ...

这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。

由于SWO/TDO的引脚PB7,使用了USART1的Rx线的功能,您要改动VCP使用USART1,就要把SWO/TDO搬到USART2的Rx线去,或者禁止SWO和JTAG功能。 需要改动的地方比较多。

如果,不想麻烦,建议另买一块Bluepill小板(研究源码),或者STLINKv2的山寨仿真器刷DAP(这个实用),都是十多元钱事儿。
versenkt 回答时间:2020-9-23 08:11:40
radio2radio 发表于 2020-9-21 21:40
这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。

由于SWO/TDO的引脚PB7,使用 ...

好的,我再研究下,谢谢回复,主要是想废物利用下
yoqsh 回答时间:2020-10-7 11:26:06
不错,正好手上有块核心板,做个DAP试试。
wth_arm 回答时间:2020-11-13 15:46:19
各位大吓,那一个版本的代码可以在UV4下编程使用,我用V2.0的链接出错。求大吓指点迷津
wth_arm 回答时间:2020-11-13 15:57:25
改用三楼的那个也是一样,编译没问题,链接出错。
linking...
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
.\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
各位大吓,那一个版本的代码可以在UV4下编程使用,我用V2.0的链接出错。求大吓指点迷津 ...

用MDKv5.xx试一试,安装MDKv4兼容包。
wth_arm 回答时间:2020-11-18 11:46:34
radio2radio 发表于 2020-11-13 16:39
用MDKv5.xx试一试,安装MDKv4兼容包。

已搞定,原来是 Real-Time OS没有许可。感谢!!!

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

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