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

【源代码】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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版