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

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