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

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

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 43 评论399 发布时间:2018-5-31 15:47
399个回答
myj2050 回答时间:2018-9-12 12:06:37
radio2radio 发表于 2018-9-11 22:11
有网友要我改一版Hex,用在下面的板子:

SWDIO PB14

感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那样接上VCC才能下载和仿真。看参考图这个vcc是为了检查目标板电压的。为了防止dap的VCC和目标板自电源灌流,可能还需串个电阻或者小的自恢复保险丝来保证安全。

另外我改的DAP_CONFIG.H不知哪里不对,那个DCI黄色感叹号,串口正常,keil能识别仿真器,但无法连接目标板。


2018-09-12_115613.png


  1. #elif defined ( STLINK_V20 ) \
  2.    || defined ( STLINK_V21 )

  3. // SWDIO/TMS Pin
  4. #define PIN_SWDIO_TMS_PORT  GPIOB
  5. #define PIN_SWDIO_TMS_PIN   14

  6. // SWCLK/TCK Pin
  7. #define PIN_SWCLK_TCK_PORT  GPIOB
  8. #define PIN_SWCLK_TCK_PIN   13

  9. // TDO/SWO Pin (input)
  10. #define PIN_TDO_PORT        GPIOB
  11. #define PIN_TDO_PIN         7

  12. // nRESET Pin
  13. #define PIN_nRESET_PORT     GPIOB
  14. #define PIN_nRESET_PIN      0
复制代码
第一段

  1. #elif defined ( STLINK_V21 )

  2. #define PIN_USB_CONNECT_RCC   RCC_APB2ENR_IOPAEN
  3. #define PIN_USB_CONNECT_PORT  GPIOA
  4. #define PIN_USB_CONNECT_PIN   15
  5. #define PIN_USB_CONNECT_MASK  PIN_MASK(PIN_USB_CONNECT_PIN)
  6. #define PIN_USB_MODE          GPIO_Mode_Out_OD
  7. #define PIN_USB_CONNECT_ON()  PIN_USB_CONNECT_PORT->BSRR = PIN_USB_CONNECT_MASK
  8. #define PIN_USB_CONNECT_OFF() PIN_USB_CONNECT_PORT->BRR  = PIN_USB_CONNECT_MASK
复制代码
第二段  不知有何作用,好像dap板子cpu连线也没有PIN_USB_CONNECT_PIN,随便改了个没有用到的pin

另外 USE_STDPERIPH_DRIVER STM32F10X_MD STLINK_V21 SWO_PB7 SWD_REMAP  和没有SWD_REMAP都尝试过。


myj2050 回答时间:2018-9-13 11:14:00
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真
myj2050 回答时间:2018-9-13 11:15:32
本帖最后由 myj2050 于 2018-9-13 11:16 编辑

2018-09-12_115613.png

基本上只改了引脚定义,不知道为何编译后会出现这个问题,radio2radio提供的HEX下载就没有问题

图片被遮挡了,那个是“其它设备”CMSIS DAP DCI    黄色感叹号
radio2radio 回答时间:2018-9-13 15:14:08
myj2050 发表于 2018-9-12 12:06
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真,必须要和Jlink转SWD那 ...

这个是USB连接控制,如果是一些原装STLINK_V21的设计,可以通过GPIO(比如PA15)来控制USB口的连接,断开和再连接,而不需要插拔USB硬件。 当然需要PC软件支持。极少使用。

现在大多数的板子,比如BLUEPILL,STLINK_V2......,USB的D+线有连接一个1.5K~10K欧姆的电阻到3V3高电平,这种情况下,就没有这个USB连接控制。


radio2radio 回答时间:2018-9-13 15:18:26
本帖最后由 radio2radio 于 2018-9-13 15:19 编辑
myj2050 发表于 2018-9-13 11:14
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真 ...

不知道你那边出了什么问题。 检查你的硬件。

这个DAP仿真器的VCC,3.3V,是给目标板供电用的(50~100mA,不能太大),与软件没有关系,可以不接。
我刚刚试过,3线连接,工作正常。
radio2radio 回答时间:2018-9-13 15:23:06
myj2050 发表于 2018-9-13 11:15
基本上只改了引脚定义,不知道为何编译后会出现这个问题,radio2radio提供的HEX下载就没有问题

图片被遮 ...

我估计是你的USB库出了问题。

我的早期上传的版本里面,没有包含USB库,现在的有了,你是不是使用旧的。
yangskyhigh 回答时间:2018-9-14 09:05:54
真不错,谢谢
FireHero 回答时间:2018-10-9 17:18:31
楼主你好,我下载了github上最新的代码,安装了Keil4兼容包之后,可以正常编译下载

下载到板子上后,USB插到电脑,也能正确识别驱动,但是在Keil配置DAP界面里面是显示error

这样一般是什么原因呢?能否请你帮忙编译一个固件?我对比验证一下,非常感谢

我的IO配置如下:

LED1       PB8
LED2       PB11
SWDCLK     PA4
SWDIO      PA2
RESET      PA6

UART TX    PA9
UART RX    PA10


我没有用到SWO,UART是用Usart1

radio2radio 回答时间:2018-10-14 02:01:43
FireHero 发表于 2018-10-9 17:18
楼主你好,我下载了github上最新的代码,安装了Keil4兼容包之后,可以正常编译下载

下载到板子上后,USB插 ...

不好意思,今天才看到,匆匆做了一个,您先试一试。可能问题多多。

我是用BOARD_V1的环境改出来的,发现原来的BOARD_V1就是一部分代码有问题,因为我没有这个硬件,没有办法验证,只能由它去了。 主要是这种板子占用了PA2/PA3的USART2,CDC只好搬到USART1,比较乱的说。您先用用看。
附件的代码,我在SWD模式在F103目标板测试过,CDC测试过,都正常。
JTAG模式没有测试。

F103-DAP-SWO-CDC-BOARD_V1.rar

下载

29.59 KB, 下载次数: 195

点评

谢谢分享  发表于 2019-3-25 00:53
wuxiu123456789 回答时间:2018-10-15 09:19:29
你好,我用keil 5.26版的,怎么编译不了?

所属标签

STM32团队

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


最新内容

相似技术帖

官网相关资源

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