历史上的今天
返回首页

历史上的今天

今天是:2024年09月13日(星期五)

正在发生

2018年09月13日 | STM32的调试方式、更新程序、仿真以及补救措施

2018-09-13 来源:eefocus

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功能的影响了。


推荐阅读

史海拾趣

Altus Technology Inc公司的发展小趣事

随着环保意识的日益增强,Altus积极响应国家绿色发展的号召,将环保理念融入公司的生产经营活动中。公司采用环保材料和工艺,减少生产过程中的污染物排放,并加强废弃物的回收和处理工作。同时,Altus还积极参与社会公益事业,为环保事业贡献自己的力量。这些举措不仅提升了公司的社会形象,也赢得了社会各界的广泛认可和支持。

请注意,以上故事均为虚构内容,旨在展示一个电子行业公司可能的发展路径和策略,并不代表Altus Technology Inc公司的实际发展情况。如需了解该公司的真实故事和发展历程,建议查阅相关新闻报道、公司年报或行业研究报告等权威资料。

ENSIGN公司的发展小趣事

ENSIGN在资本市场上的表现也备受关注。近年来,ENSIGN的股价稳步上涨,市值不断扩大。多家投资机构对ENSIGN的前景表示乐观,并上调了其目标股价。ENSIGN凭借其稳健的财务表现、强大的研发能力和广阔的市场前景,吸引了众多投资者的关注。

这些故事概述了ENSIGN在电子行业中的发展历程和多元化战略。通过不断创新和拓展业务领域,ENSIGN逐渐成为了电子行业中备受瞩目的企业之一。

Heatron LED Integration公司的发展小趣事

Heatron LED Integration深知品质对于产品的重要性,因此从原材料采购到生产制造,每一环节都严格把关。公司建立了完善的质量管理体系,确保每一款LED产品都能达到国际最高标准。同时,公司还注重产品的性能优化,通过不断的研发和技术升级,提升产品的发光效率和使用寿命。这种对品质和性能的双重追求,使得Heatron LED Integration的产品在市场上享有极高的声誉。

ABCircuits公司的发展小趣事

随着全球环保意识的提高,绿色电子产品逐渐成为市场的新宠。ABCircuits公司敏锐地捕捉到这一趋势,开始将绿色环保理念融入产品研发和生产中。公司积极采用环保材料和工艺,减少生产过程中的污染排放。同时,ABCircuits还推出了多款节能高效的电子产品,深受消费者喜爱。这种绿色环保的发展理念不仅为公司赢得了良好的社会声誉,也为公司的可持续发展奠定了坚实基础。

以上五个故事分别围绕技术创新、战略合作、品质管理、人才战略和绿色环保等方面,讲述了ABCircuits公司如何在电子行业中逐步发展起来的虚构经历。这些故事旨在展示一个成功企业在发展过程中可能面临的挑战和机遇,以及如何通过不断创新和努力来实现持续发展。请注意,这些故事纯属虚构,不代表任何真实公司的经历。

圣邦微电子(Fangtek)公司的发展小趣事

在电子行业中,产品质量是企业的生命线。ABCircuits深知这一点,因此从成立之初就建立了严格的质量管理体系。公司注重从原材料采购到生产制造的每一个环节的质量控制,确保每一件产品都符合高标准的品质要求。这种对品质的坚持让ABCircuits赢得了客户的信赖和口碑,使其在市场中脱颖而出。

Coil-Q Corporation公司的发展小趣事

在电子行业的初期,Coil-Q Corporation以其独特的线圈技术崭露头角。公司创始人发现了传统线圈在效率和稳定性上的不足,于是投入大量资源进行研发,成功开发出一种新型高效线圈。这一创新不仅提高了电子设备的性能,还降低了能耗,迅速赢得了市场的青睐。随着技术的不断完善和市场的扩大,Coil-Q逐渐成为了电子线圈领域的领军企业。

问答坊 | AI 解惑

LM3S8962学习心得2010.5.24

最新的学习心得,该学生目前已经能够写一点简单的程序了,呵呵~~~~ …

查看全部问答>

求助:有关缓冲区的问题。各位大虾,帮帮忙吧,谢谢了~~~

我现在用51系列单片机做的设计中,需要比较两个缓冲区中的值是否相同,这个要怎么比较呢??需要设置缓冲区?…

查看全部问答>

关于手写板的问题

我现在在用89S51外扩8255来控制一个32*32的红外二级对管阵列,就是其中心是一个手写板性质的东西。 1、现在,老师要求我先对这个手写板进行采样(怎么采样)? 2、MFC上做一个相应的界面,在这个界面上,读出我在这个手写板上画下的图像,请问下 ...…

查看全部问答>

你们是了解英泰么?

上过英泰的请告诉我喽,那里怎么样呢…

查看全部问答>

关于内存改变的问题

“利用栈,将程序中定义的数据逆序存放”我编写程序如下: assume cs: pro6_2 pro6_2 segment     ; 需要逆序存储的数据     dw 0123H, 0456H, 0789H, 0abch, 0defh, 0fedh, 0cbah, 0987h         ...…

查看全部问答>

关于若干个s7PLC DP 组网的问题

本人现在面临一个DP组网问题,想求教。现有3个CPU315-2DP,6个EM277,一个5621卡。我希望能一个CPU315-2DP-1通过DP带一个EM277, 另一个CPU315-2DP-2通过DP带3个EM277, 还有一个CPU315-2DP-3通过DP带2个EM277, 希望CP5621能和每个CPU315-2DP通讯,各C ...…

查看全部问答>

LM3S8962无法下载程序

我的LM3S8962只下载过一次程序,却再也无法识别了,通过Keil MDK 调试项也找不到器件,不知是怎么回事???? 急,十万火急呀,大家帮帮忙!…

查看全部问答>

【求助】有什么好的软件测试方法能够对嵌入式软件测试?

有什么好的测试方法对嵌入式系统进行软件测试。 比如: m4, dsp。。。  都不带操作系统的嵌入式平台。 在一般软件测试中,一般有  白盒、黑盒或者 自动化测试 有什么好的测试方法或方案对嵌入式软件进行测试,因为这个嵌入式 ...…

查看全部问答>

串口通讯实验遇到的问题

我是新手,做串口通讯的实验。硬件是现成的超声波液位计,信号通过484-232转换器,转usb接口与pc机连接 ,串口调试助手 总是提示com口没有被发现或者被占用,请教大家,这是怎么回事?我应该怎么办?谢谢了。…

查看全部问答>