JTAG & SWD
- 配置SWD后复用引脚的配置
stm32复位后,JTAG与SW默认同时开启的,即所有的JTAG端口均被系统保留,软件设置GPIO是不起作用的,所以导致DB4一直为高电平,DB3一直为低电平,ST的文档里说明,如果要释放多余的JTAG端口,需设置SWJ_CFG[2:0]为010,关闭JTAG-DP,启用SW-DP 并且开启端口复用的始终,在代码上体现是这样的:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
- 仿真器对SWD模式支持情况
- 市面上的常用仿真器对 SWD 模式支持情况 (1) JLINKV6 支持 SWD 仿真模式, 速度较慢。 (2) JLINKV7 比较好的支持 SWD 仿真模式, 速度有了明显的提高,速度是 JLINKV6 的 6 倍。 (3) JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M。 (4) ULINK1 不支持 SWD 模式。 (5) 盗版 ULINK2 非常好的支持 SWD 模式, 速度可以达到 10M。 (6) 正版 ULINK2 非常好的支持 SWD 模式, 速度可以达到 10M。
- SWD 硬件接口上的不同 (1) JLINKV6 需要的硬件接口为: GND, RST, SWDIO, SWDCLK (2) JLINKV7 需要的硬件接口为: GND, RST, SWDIO, SWDCLK (3) JLINKV8 需要的硬件接口为: VCC, GND, RST, SWDIO, SWDCLK (注:下面有我自己用JLINKV8的实际连线及相应实验结果) (4) ULINK1 不支持 SWD 模式 (5) 盗版 ULINK2 需要的硬件接口为: GND, RST, SWDIO, SWDCLK (6) 正版 ULINK2 需要的硬件接口为: GND, RST, SWDIO, SWDCLK
DAC
配置时手册中的bug
- DAC channel2 8bit right-aligned data holding register
DAC_DHR8R2 地址偏移 0x1c->0x1B
#define DAC2_DHR8R1_Address 0x4000741B