STMCU小助手
发布时间:2022-4-9 23:35
|
说明2 ^* C- q$ B5 q g% M 最近在做了一个DAP调试器,完全开源的方案,大部分代码都是由STM32CUBEMX生成的,使用的STM32CubeIDE作为开发环境,集成共以下四种功能:: N! [/ X7 P' J0 g4 B# Y 在线模式(在线调试用) 离线模式(脱机下载) U盘模式(用于离线模式时存放固件) 串口模式(USB转TTL串口功能) 目前使用了正点原子的mini开发板做的测试,代码已经编写完毕并且调试通过,准备画个板子打个小板真正的做出实物来。+ b' F, M$ [- x, n1 d( v& o * B" F# G, H/ i* T$ i 我为了节省IO所以使用的SWD方式,并且SWDIO和SWCLK使用的引脚是PB10和PB11,因为这两个引脚正好是串口3的RX和TX,这样的话串口模式和在离线模式共用IO,体现在实物上就是不需要在额外引出两个串口的引脚了。5 u; z" g9 l H; Q# p) V% g7 ^ 所以我全部的IO就四个:3.3V、GND、SWDIO(TX)、SWCLK(RX),市面上的SWD模式的DAP仿真器一般是5个引脚,多了一个硬件RST引脚。 w. r5 U8 g; l* V/ D8 w3 w5 _ 我省略硬件RST引脚的原因有下: & m0 m9 b9 [. N2 Q7 K6 |/ H 1.实际中做板子时候STM32单片机的RST引脚一般直接拉高了,不会接出来 2.DAP大多数是使用软件复位1 T9 o! m1 W' _. g, x ; x% x2 s' j |+ y& R" m" z/ b 使用注意事项8 \" V3 I4 d: U7 x* j4 @: T3 Q 1、关于KEIL设置 6 B% t/ u4 {! w; d
3 x E; D; q' q4 v7 T, H/ b* M* F7 N7 J6 q 如遇到RDDI-DAP Error,可能的原因及解决办法:6 t% D4 f+ k* F+ A 1.线太长,因为DAP速度较快线太长干扰较大(JTAG最快10M,SWD模式1M最稳定) 2.与开发板的通讯时序出错(检查KEIL配置、连线、供电等,建议目标板单独供电) 1 M$ d# w5 r" _) t% K 2、可能遇到的其他问题 o: t$ ]# J, ^ 下载完成后把DAP拔下来,如果不断开DAP与开发板的连接,会导致程序无法运行;因为DAP在没有介入PC时,通过与目标板的连接会把 RST 引脚拉低,导致 MCU 一直处于复位状态。(不适用我做的这个,因为我没用RST引脚), \- n0 V' M1 ? R+ |, K/ i 下载程序后不运行原因1: DAP 与开发板的连接没有接 RST 引脚时下载程序后 MCU 不会复位运行(DAP 采用的是硬件复 位,即通过 RST 引脚连接进行复位,连接后还需要 MDK使能 Reset and Run)% @, `7 h6 n; L5 y; x0 I O4 a # ^! @& z5 I8 A* C% m4 d! n3 h7 J F 下载程序后不运行原因2: 在KEIL中选择SYSRESETREQ后下载程序后不会运行,SYSRESETREQ这个选项是软件复位启动,下载后程序不运行是因为SYSRESETREQ功能在使用CMSIS-DAP时没起作用,没有发出相应的软启动的命令 5 a3 i8 C: J K4 f+ c- `% ? |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版