历史上的今天
返回首页

历史上的今天

今天是:2024年12月15日(星期日)

2018年12月15日 | SWD和JTAG都给关了,程序下载不进去,解决办法

2018-12-15 来源:eefocus

我们有时候会碰到各种问题导致STM32或者STM8的程序突然就下载不进去板子了。可以按照以下步骤来解决。


一、下载方法步骤:


1、将板子供电全部断开,这里包括3.3V电源供电和JLINK等所有能给开发板供上电的设备全断开。


2、找到BOOT0引脚,将BOOT0拉高。 


  方法:在板子上找一个高电平引脚,手动用导线将BOOT0连接到该引脚上即可。 

  (注意:我的STM32板子供电是3.3V的,所以我找了一个3.3V的引脚,用导线连接到了BOOT0上,千万别弄错了,电平接高了不小心可是要烧坏板子的!)


3、BOOT0拉高以后,保持这个姿势不要动,打开电源,重新给板子上电。


4、插上JLink或者STLink,下载程序。一般这次肯定可以下载进去了。下载完成以后,就可以断开BOOT0了,让他恢复低电平。


OK到这里就全部完成了,板子肯定也回复正常了,继续嗨吧。


二、上述方法原因解释


开发板默认JTAG和SWD接口都是打开的,BOOT0是低电平,当把BOOT0置高时,给板子上电,板子启动的时候程序会卡住,也就是内部flash的程序并未执行,这个时候SW和JTAD接口都是出于默认打开的状态。然后下载一个不关闭JTAG或者SW接口的程序,覆盖之前flash中的程序就好了。


所以先将板子供电全部断开(这里包括3.3V电源供电和JLINK等所有能给开发板供上电的设备全断开),再将开发板的BOOT0拉高,重新给开发板上电,把程序中关闭JTAG或者SW的程序删掉,然后下载到开发板中,程序下载完成就好了。


三、SWD和JTAG被关闭原因


正搞板子发现程序下载不进去了,到处查找原因,发现自己在程序中不小心把STM32的SWD和JTAD接口都给关了,如下就是关掉这两个接口的两句程序:


GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关掉JTAG,不关SW


GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//关掉SW

1


2


所以,当程序跑起来,两句执行完以后,两个接口都关了,然后程序就再也下载不进去了。~~~


想要恢复正常,我们需要做的事就是想办法打开这两个接口中的任意一个,也就是下载一套不关闭程序下载接口的代码到板子中。 


所以,我们要么将程序中上述语句删掉第二句,只保留第一句,重新编译,也就是只关闭JTAG,打开SW,要么重新找一个不关闭JTAG或者SW接口的代码重新下载到板子中即可。


而下载方法如文首第一点步骤所示下载即可。


推荐阅读

史海拾趣

EBK Kruger GmbH & Co KG公司的发展小趣事

面对数字化浪潮的挑战,EBK Kruger积极拥抱数字化转型。公司引入了先进的ERP系统和智能制造技术,提高了生产效率和产品质量。同时,EBK Kruger还加强了对大数据和人工智能技术的研发和应用,为客户提供了更加智能化和个性化的产品和服务。通过数字化转型的推动,EBK Kruger在激烈的市场竞争中保持了领先地位。

Erocore Enterprise Co Ltd公司的发展小趣事

Erocore Enterprise Co Ltd公司自XXXX年在电子行业中创立之初,就专注于电子元件的研发和生产。公司创始人深知技术是企业发展的核心,因此投入大量资源用于技术研究和人才引进。在初创期,Erocore通过不断的技术创新,积累了一定的技术储备和行业经验,为其在后续的市场竞争中奠定了坚实的基础。

EPT公司的发展小趣事

EPT公司在其发展历程中,始终重视与科研机构的合作。早年间,EPT与哈尔滨工业大学共同研发了一种新型电池材料,这种材料具有更高的能量密度和更长的循环寿命。通过双方的技术交流和深度合作,EPT成功将这种材料应用到其产品线中,极大地提升了产品的竞争力。这一合作不仅为EPT带来了技术上的突破,也为其在电子行业树立了良好的口碑。

Antiference公司的发展小趣事

在追求经济效益的同时,Antiference公司始终不忘履行社会责任。公司积极参与环保事业,推动绿色生产,努力降低生产过程中的能耗和排放。此外,Antiference还积极投身公益事业,支持教育事业和扶贫工作,为社会做出了积极贡献。

兆易创新(GigaDevice)公司的发展小趣事

在追求经济效益的同时,Antiference公司始终不忘履行社会责任。公司积极参与环保事业,推动绿色生产,努力降低生产过程中的能耗和排放。此外,Antiference还积极投身公益事业,支持教育事业和扶贫工作,为社会做出了积极贡献。

Artaflex公司的发展小趣事

创新是Artaflex公司持续发展的核心动力。公司不断投入研发资金,加强技术创新和新产品开发。通过不断推出具有创新性和竞争力的产品,公司不仅满足了市场的多样化需求,也赢得了客户的信任和好评。同时,公司还注重人才培养和团队建设,为公司的长期发展奠定了坚实的基础。

问答坊 | AI 解惑

学51时做的小东西(一) -- 电子定时器

学51时做过很多东西,但是很多都没有留下完整的资料。这里把一个我做的有完整资料的东西发上来,以后整理好东西也陆续发上来。 虽然这些东西都很过时了,不过有兴趣的朋友不妨做一个试。 电子定时器: 最初的是为了电池充电器而设计的 ...…

查看全部问答>

关于上传附件的建议

建议大家在附件后面多贴点信息,比如将文档的前言、目录贴上来。这样方便大家选择是否需要下载。…

查看全部问答>

请教工程师:集成24位ADC的CPU

现在想用一款集成24位AD的CPU,做一个高精度的电子秤,工业测量用的。准备做成亚当模块的样子。   我上ADI官方网站查过好像7060还可以,但是好像国内不好买不到片子,而且价钱很贵。51内核的倒是有24位的,只是好久不用51了,不知道开发起来 ...…

查看全部问答>

一个女生用C语言写的爱情函数(搞笑下)

一个女生用C语言写的爱情函数result love(boy, girl)      {        if ( boy.有房() and boy.有车() )        {          boy.set(nothing);      ...…

查看全部问答>

UseEnterEsc的问题?请大家帮忙看看。

在WINCE下的触摸屏的校正程序中,我是直接调用的这个系统函数TouchCalibrate,呵呵……自己还没有想到写的方法。但是没有这个的源码,在TouchCalibrateUI_DrawMainScreen打印校准操作说明信息中,UseEnterEsc这个函数是怎么操作的?在屏幕我要显示 ...…

查看全部问答>

ARM高手请进。。

我在ARM中移植一段代码,因为程序比较复杂,调用层次较深,在进入某些函数语句后,函数参数丢失。 用的是瑞星微的多任务系统,谁知道这是什么问题,怎么解决。我用J-TAG调试。…

查看全部问答>

新手请教一个驱动程序安装的问题

{4d36e97d-e325-11ce-bfc1-08002be10318}…

查看全部问答>

想淘一个或者置换一个STM32F4XX的板子

想好好学学STM32F4,想淘一个或者置换一个F4的板子我有的板子:LM3s811和8962的板子(原装的未开封),这两个板子是我用无线wifi路由器和一位兄弟换来的。avr和MSP430的板子也各有一个,…

查看全部问答>

串口发送变量与工业串口屏实时显示

   最近在做界面,用到工业串口屏,显示终端会显示来自用户信息以及实时的充电信息,所以就得实时显示。。。比如实时显示已充电量等。。。。因为是串口屏 所以都是通过发送指令和数据来实现显示的。。。这又不得不掌握串口发送变量这个知 ...…

查看全部问答>

6050

为什么我的6050一会可以产生角度一会就不可以了????????????? …

查看全部问答>