历史上的今天
今天是:2025年01月16日(星期四)
2019年01月16日 | STM32 JTAGSWD禁用导致无法烧写
2019-01-16 来源:eefocus
由于 STM32 的引脚功能较多,在为了方便硬件的使用,常会使用复用,重映射的功能,这里 主要提及的是 SWD 和 JTAG 端口的引脚对应出现的问题。
GPIO引脚重映射时,当调用GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE)函数时,则改变指定管脚的映射,完全禁用(JTAG+SW-DP)。
不但关闭了JTAG还关闭了SWD,这样一来,如果你使用该方式来烧写程序,那么你下一次将面临这无法烧写程序的后果,下面就介绍解决问题的办法:
按着板子上面的复位键不放,若没有按键,就用夹子短路复位电容,这样单片机将停止程序的运行;
这时候点击Keil的下载,下方的“Build Output”窗口便会开始滚动,一会之后会提示出错。直接关闭它,放开复位键。
这时候单片机已经停止程序了,SWD那些端口已经恢复原有的调试端口功能,这时候你再一次按下载键便可以下载程序了,问题解决!!!
如果使用SWD进行调试,建议设置功能为JTAG-DP禁用 + SW-DP使能,应调用函数GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE)。
史海拾趣
|
我正在做一个基于ATmega16单片机的直流调速系统 要用到PID控制 第一个问题是 怎么用ATmega16实现PID控制 第二个问题 怎么将PID的输出与PWM波的占空比联系起来… 查看全部问答> |
|
数字转模拟(D/A) 隔离转换器485/232转4-20MA 数字转模拟(D/A) 隔离转换器:ISO DAO系列 RS232/RS485信号转模拟信号 隔离D/A转换器 产品概述: ISO DAO系列产品实现主机RS-485/232接口信号隔离转换成标准模拟信号,用以控制远程设备。ISODA系列产品可应用在 RS-232/RS-4 ...… 查看全部问答> |
|
二个程序它们各有静态变量或静态区。它们的静态区和操作系统的静态区有什么不同? 二个程序它们各有静态变量或静态区。它们的静态区和操作系统的静态区(事件EVENT,互斥体Mutex存放的地方)有什么不同?… 查看全部问答> |
|
我使用evc开发一个应用程序,使用了timer,当timer里面没有任何人为添加的代码的时候,查看程序内存中正在使用的内存,没有变化。当我添加这样两行代码: CWnd* pWnd = GetDlgItem(IDC_COORD); ...… 查看全部问答> |
|
本人去年7月份左右买了友善之臂的micro2440sdk开发板,现在将其转让,并且我愿意回答bootloader以及wince驱动的问题,其余不懂的我也会给一些意见。开发板网址http://www.arm9.net/micro2440sdk.asp就是这 ...… 查看全部问答> |
|
求解答,工具是ccs2.2,读写flash空间和Clist问题 1.目前要把VC的程序刻录到板子上,请问原程序中用的是CList, c里面有替代的或差不多的吗?如果有,头文件是什么?刚接触这个,挺迷糊,刚 从一个辞职的同事上接手个半成品程序。 2. 请问怎么往板子里的flash空间写数据? typedef struct & ...… 查看全部问答> |
|
第一次碰见这种情况,shit是我生气打上的,但还是通过不了ELUOSI.C(25): error C244: \'shit\': can\'t initialize, bad type or classELUOSI.C(25): error C132: \'shit\': not in formal parameter list#include<reg52.h>#include\"anjian.h\ ...… 查看全部问答> |




