DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版
试用了一下发现很好很强大,SW模式下一切正常,但是JTAG下载一直无法实现,接线(DAPLINK->目标板的JTAG接口)PB5->TDI,PB6->RESET,PB7->JTDO,使用JTAG模式时keil会报错 "invalid rom table"。请问楼主这样应该如何解决?
DAP-Link用的是BluePill固件是Remap那个,目标板是另一块带JTAG接口的C8T6核心板和一块带JTAG接口的ZET6核心板。
没有遇到过这种情况。您新开一个简单的工程试一试,是不是MDK的设置有问题。
注意Flash Download和Pack的设置。
swd模式一切正常,所以感觉不是FLASH或者Pack的问题。。
只有在JTAG模式才会出问题。。
试过其他简单的工程没有?
PA2>P3.04 W+ A! W- |$ j( i2 y
PA3>P3.1/ ^/ H. S8 M% X. T% p/ \1 H4 O4 z+ g
教程可以看见网友的,我也是跟着他学的。他用的也是DAP。dap仿真stc51教程7 n- h; D) S' {/ V
大材小用了,和DAP没有关系。$ u3 y/ {/ D% i
这个只是用了板子上面独立的CDC功能,也就是UART转USB串口功能。与通常的FT232RL/PL2303/CH340/CP210X转换板功能是一样的。
不过,反正价格便宜,就手用了就是。
试过了都是这样的,怀疑是keil设置错了或者硬件接错了?% f+ ]6 `$ P* F3 U" b+ R
PB5->JTDI
PB6->RESET(这里不知道该接RESET还是JTRST?)2 B& X1 ?5 K# v. D6 A3 n% B/ `
PB7->JTDO
应该没错把,,,
PB6->nRESET,应该接目标板MCU的/RESET脚,也就是JTAG口的第15脚。
使用SWO_PB7的宏定义,然后在DAP_config.h中增加PB7的定义
: n& W, T, L1 f" v
#if defined ( SWO_PB7 )& B5 _2 o7 T* E
// TDO/SWO Pin (input)
#define PIN_TDO_PORT GPIOB //remap USART1_Rx_Pin to PB7 for SWO
#define PIN_TDO_PIN 7
0 W$ h. K1 N' |( a+ h, r ]
#elif defined ( SWO_PA10 )# x6 |/ p3 g1 Z+ d5 g
// TDO/SWO Pin (input)
#define PIN_TDO_PORT GPIOA! U+ o. M# S. O+ G- t
#define PIN_TDO_PIN 10" K8 A1 N5 c/ G+ N9 ?$ q2 o5 S
#else: S! j- s3 N# L* I& `; B
#error "SWO Pin undefined, please define SWO_PA10 or SWO_PB7 for your board."
#endif
谢谢您帮我验证了可以这样使用。
看1楼的图纸,与SWIM有关的脚有PB7,PB8,PB9三条(晕),您的板子的PB8/PB9是什么情况?如果有连接到SWIM,您是不是要切断他们?
我没有割断,SWO工作正常。6 |* N% Y0 B3 B4 O
另外,GitHub 给您Pull Requests了,谢谢~7 ~& ?, {8 N* O% U% R( H
谢谢,估计SWIM脚是输入/输出双向的,ST软件的版本不同,使用其中的两条。; P1 k+ | M" `& r* p* }4 E
我们的程序,没有使用的脚都设置成高阻输入状态,所以即便是有连接,也不产生影响。
4 a" w: y$ I L
github上面容我再仔细考虑一下怎么改,可能还要兼顾STLINK_V2B的JTAG模式的引脚安排。
是的,我的现在保留了一个5v