STM32的调试方式、更新程序、仿真以及补救措施

发布者:EnigmaticSoul最新更新时间:2018-09-13 来源: eefocus关键字:STM32  调试方式  更新程序  仿真 手机看文章 扫描二维码
随时随地手机看文章

1. STM32的调试方式选择
STM32支持JTAG和SWD两种调试方式,且默认状态下这两种调试功能都是开启的。

由此我们可以知道:
如果要使用JTAG调试功能,那么PB3,PB4,PA13,PA14,PA15都不能使用;
而如果我们关闭JTAG功能,但是开启SWD调试功能,那么PB3,PB4,PA15都可以当作普通IO来使用了;


ST官方3.5的库有提供关闭调试功能的两个接口:

1.1 关闭所有的JTAG和SWD调试功能
慎用,一旦执行该命令,程序运行后将不能通过JTAG或SWD方法进行烧写和下载,补救措施见文末。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
执行上面语句后,PB3,PB4,PA13,PA14,PA15都可以当作普通iO来使用,此时不能通过J-Link进行调试了;

1.2 仅关闭JTAG调试功能
该方法的好处是,解放了JTAG功能占用的引脚,但是SWD调试功能依旧可以使用。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
执行上面语句后,PB3,PB4,PA15都可以当作普通iO来使用,且可以通过SWD进行调试。


2. 关闭JTAG和SWD调试方式后如何更新程序以及仿真
2.1 关闭JTAG如何更新程序
关闭JTAG调试功能以后,STM32不再支持在线仿真,且更新程序也需要通过一定操作才可以完成。此方法在开发阶段慎用!
建议程序启动时延时3-5秒后再关闭JTAG调试模式,如此,单片机断电复位后立即点击烧写按钮也是可以进行程序烧录的。

2.2 关闭JTAG及SWD调试功能后的补救措施
补救措施一:
设置启动模式为ISP模式(BOOT0=1、BOOT1=0)或设置启动模式为RAM运行模式(BOOT0=1、BOOT1=1)。
将开发板断电后重新上电,此时就因不是在用户程序模式,因此就不会执行禁用JTAG的语句,JTAG功能也就可以正常使用。

补救措施二:
设置启动模式为ISP模式(BOOT0=1、BOOT1=0),用ISP程序将STM32的FLASH擦除,之后就可恢复JTAG功能。

补救措施三:
如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。直接将仿真器的模式设为SWD模,就可以不受这个禁止JTAG功能的影响了。


关键字:STM32  调试方式  更新程序  仿真 引用地址:STM32的调试方式、更新程序、仿真以及补救措施

上一篇:STM32中的timers中断处理函数
下一篇:STM32---SPI通信的总结(库函数操作)

推荐阅读最新更新时间:2024-03-16 16:13

基于预测控制的自适应PID控制器设计与仿真
0 引言 自20世纪70年代被提出以来,预测控制相对传统PID控制的很多优势令其在工业过程应用中产生了重要和广泛的影响。预测控制的方法有很多种,例如:动态矩阵控制(DMC)、扩展的预测自适应控制(EPSAC)、模型算法控制(MAC)、预测函数控制(PFC)、二次动态矩阵控制(QDMC)、序贯开环最优控制(S0L0),以及广义预测控制(GPC)等,统称为"模型预测控制"(modelDredictive Control,MPC)。预测控制的基本原理类似于利用内部模型的状态或输出预测,同时应用有限预测时域的滚动计算思想和反馈及预测校正,最后采用了对某个系统性能指标的最优化计算,以确定在一个控制时域内的最优控制序列。本文通过数学推导为预
[工业控制]
基于预测控制的自适应PID控制器设计与<font color='red'>仿真</font>
STM32中断向量嵌套NVIC理解
一,中断优先级: 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。 当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。 既然每个中断源都需要被指定这两种优先级,就需要有相应的寄存器位记录每个中断的优先级;在Cortex-M3中定义了8个比特位用于设置中断源
[单片机]
stm32 i2c通信 [操作寄存器+库函数]
I2C总线是由NXP(原PHILIPS)公司设计,有十分简洁的物理层定义,其特性如下: 只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL; 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器; 它是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏; 串行的8 位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s; 连接到相同总线的IC 数量只受到总线的最大电容400pF 限制。 其典型的接口连线如下: I2C的协议
[单片机]
<font color='red'>stm32</font> i2c通信 [操作寄存器+库函数]
RN8209+stm32+spi通信一直接收0xff
要养成及时总结的习惯!!!留下重要的经验! 留给下次的经验:做成品板之前建议先做一个demo板,越大越省时间,只要10*10之内的都是一个价嘛。但一定是要这个芯片或者功能的最全版本,接口都要留出来,便于调试! 这次的rn8209-demo板: 1在pcb布局完成后,可以多增加几个接口。 2spi/串口转换开关 3脉冲输出引脚​ 当然除非你对这个电路非常有把握,那没有必要去做这个demo板了。​ RT(如题),关于RN8209的资料很详细,但程序就那两个,调试出了问题,找了好久没有找到,一直怀疑是程序有问题,但又没有其他现成的程序可以参考,没办法只能一点一点地找问题。 最后在google搜索到的一个帖子上找到了一点其他​
[单片机]
基于stm32的pwm呼吸灯
这一节的程序所涉及到的硬件是比较简单,主要是考察对stm32时钟的应用 原理性质的东西我就不多说了,参考书目为: 《STM32库开发实战指南》 刘火良,杨森著 《STM32开发指南(库函数版本)》 正点原子著 使用定时器来控制I/O口输出PWM波形,从而驱动LED灯出现类似呼吸频率一般的亮灭。 硬件电路图: 我的收获: 1 这是STM32数据手册上对TIM3通用定时器复用功能重映象的描述,假设让PA6作为PWM输出,从图中可以看出PA6对应TIM3的通道1, 使能TIM3通道1的函数为 TIM_OC1Init();1 同样的,如果想要使能PA7,它对应的是TIM3的通道2,那么使能通道2的函数便是: TIM_OC2Init(
[单片机]
基于<font color='red'>stm32</font>的pwm呼吸灯
STM32 stdint.h简略翻译
一定要看: 由于本人英语水平有限,且初学STM32,在翻译过程中出现错误,遗漏,不当之处在所难免,因此希望各位若发现错误请麻烦抖抖你的手指,敲出我的错误,本人非常渴望您的指正,以免害己害人! 看本文注意点: 文中 1, #ifdef __cplusplus #undef __CLIBNS #ifndef __STDINT_DECLS等等宏的使用请看我的另一篇收集整理的博客《比较全面的宏定义解析》 2,本文 不求功能解释,只对文中进行字面翻译,应该说还是比较容易理解其功能的 3,需要源文件的 请到http://download.csdn.net/detail/you1314520me/6392445
[单片机]
<font color='red'>STM32</font> stdint.h简略翻译
STM32学习笔记(三) STM32的GPIO的深入学习
STM32的开发学习主要涉及软硬件两个部分的实现,包含众多外设和总线的理解配置。STM32的整个学习曲线并不陡峭,但入门却相当困难,因此在学习之初,多动手实验和测试相当重要,GPIO作为整个STM32与外部连接的端口,难度不高,却十分重要。从深入解析GPIO外设开始,一步步熟悉掌握STM32各个模块,就是STM32的整个学习流程。 GPIO模块回顾 在嵌入式软件开发中,几乎所有功能的实现都需要GPIO端口输出才能发挥作用。GPIO端口的操作包括时钟使能,寄存器配置,端口信息修改。这些基础的东西上一章已经讲过,我这里就不在细说,我这里主要讲GPIO涉及到的其它库函数。 1. 读取GPIO端口数据函数 GPIO_ReadInp
[单片机]
<font color='red'>STM32</font>学习笔记(三) <font color='red'>STM32</font>的GPIO的深入学习
新款STM32U5:让便携产品拥有惊艳图效
凝聚ST超低功耗微控制器技术精华的STM32U5于2021年问世,是一款堪称可改变游戏规则的低功耗MCU。 作为STM32高性能低功耗系列旗舰产品, STM32U5延续STM32F2/F4/F7的应用范围,同时又有更低的能耗,具有更高的性价比。 在工业控制系统中,U5可以承担主控器、系统监控以及图形显示等核心职能。 高性能,低功耗,丰富的数字外设和更高性能的模拟接口,强大的安全特性,以及支持图形加速,让STM32U5在工业控制、工业表计和医疗健康,个人穿戴设备等应用领域取得良好的表现,为泛工业系统创新赋能。在这个视觉统治一切的时代,人们对图形效果的追求永远没有止境,同时也希望实现起来更简单快速,性价比更高。“如果只
[单片机]
新款STM32U5:让便携产品拥有惊艳图效
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved