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

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

[复制链接]
radio2radio 发布时间:2018-5-31 15:47
阅读主题, 点击返回1楼
1 收藏 45 评论418 发布时间:2018-5-31 15:47
418个回答
lzhang97 回答时间:2018-8-21 23:30:36
大佬,还有一个想法,可以把stlink上的SWIM端口改成SWO吗,这样如果用SWO就不需要飞线了
radio2radio 回答时间:2018-8-22 11:06:06
本帖最后由 radio2radio 于 2018-8-23 13:11 编辑
SUSTZL 发表于 2018-8-21 23:30
大佬,还有一个想法,可以把stlink上的SWIM端口改成SWO吗,这样如果用SWO就不需要飞线了 ...

好想法,可是SWO走SWIM口,也可能需要修改。
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STLINK的PA10是空脚,PB7在电路图中是SWIM_IN。
但是我手上其中一个STLINK板子,PB7竟然也是空脚。



如果您的板子的PB7不是空脚,而是通过220欧姆电阻接到SWIM端口的,就可以,少修改一条线。
附件就是SWO(PB7)走SWIM端口的固件,我没有测试过的,哪位用过如果有问题告诉我,特别是SWO功能。


F103-DAP-SWO-CDC-STLINK_V2A-SWO_PB7-20180823.rar

下载

25.6 KB, 下载次数: 32

lzhang97 回答时间:2018-8-22 19:24:08
radio2radio 发表于 2018-8-22 11:06
好想法,可是SWO走SWIM口,也可能需要修改。
原因在于,SWO使用串口USART1的RX线,必须走PA10或者PB7,STL ...

谢谢大佬,学生党最近在忙着考研,没有时间去搞[code][/code] 得等其他老哥验证了
radio2radio 回答时间:2018-8-23 13:13:24
本帖最后由 radio2radio 于 2018-8-23 13:37 编辑
SUSTZL 发表于 2018-8-22 19:24
谢谢大佬,学生党最近在忙着考研,没有时间去搞 得等其他老哥验证了 ...

抱歉,下载过上面的“STLINK_V2A+SWO_PB7”固件的朋友,请重新下载我刚刚上传的更新过的。
hi201803 回答时间:2018-8-26 03:47:41
好消息, 楼主,
刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap,
使用 pyOCD , 调试下载程序到stm32f107rc flash, 调试窗口报告 下载速度 17.43 kB/s.

0006536:INFO:flash_builderrogrammed 86536 bytes (43 pages) at 17.43 kB/s

是否 启用了 SPI

radio2radio 回答时间:2018-8-26 12:53:51
hi201803 发表于 2018-8-26 03:47
好消息, 楼主,
刷你的最新版, 使用 Bluepill CMSIS-DAP  REmap,
使用 pyOCD , 调试下载程序到stm32f ...

谢谢,这个速度算不算快? 我没有概念。
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
hi201803 回答时间:2018-8-28 22:01:32
本帖最后由 hi201803 于 2018-8-29 06:18 编辑
radio2radio 发表于 2018-8-26 12:53
谢谢,这个速度算不算快? 我没有概念。
CMSIS-DAP里面,没有使用SPI,纯软件GPIO控制。
...

J-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.
但j-link 的产品,各个产品速率不一样.

源自: http://www.segger.com/products/ ... ogy/flash-download/
radio2radio 回答时间:2018-8-29 15:04:27
hi201803 发表于 2018-8-28 22:01
J-link 自称在 stm32F1xx 上,编程速度最快到33 KB/s.
但j-link 的产品,各个产品速率不一样.

看到了,这么说,下载速度,不仅与仿真器有关,还和IC的种类,以及工具软件等都有关。


另外,一楼更新了,更新到最新的包。
iechshy 回答时间:2018-9-11 16:37:41
多谢分享
radio2radio 回答时间:2018-9-11 22:11:39
有网友要我改一版Hex,用在下面的板子:

SWDIO PB14
SWCLK PB13
nRESET PB0
串口uart2_TX PA2
串口uart3_RX PA3
(以上,与STLINK_V20相同)
LED  PB11

现将Hex放在下面的附件:(SWD模式)

F103-DAP-SWO-CDC-STLINK_V20-LED_PB11.rar

下载

25.65 KB, 下载次数: 30

kamp 回答时间: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都尝试过。


kamp 回答时间:2018-9-13 11:14:00
感谢radio2radio,可以用了。但发现这个dap还是不能像Jlink-ob一样三线制下载仿真
kamp 回答时间: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线连接,工作正常。

所属标签

相似分享

官网相关资源

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