历史上的今天
返回首页

历史上的今天

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

正在发生

2018年09月09日 | STM32 JTAG失效恢复

2018-09-09 来源:eefocus

昨天调试一块STM32L151的板子,用的是JlinkOB,调试时,出现下面的错误: 
JLink Error:could not start CPU core. 
JLink Warning:CPU could not be halted 
这里写图片描述 
这个错误出现的原因是,程序中有修改JTAG端口(PA13,PA14)的语句,当把JTAG当做普通IO口时,JLink就不能返回调试信息,JLink就读不回相应寄存器的值了。

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);    GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);    //完全失能JTAG/SWD12

解决思路: 
我们刚才既然把“错误”的程序写入了用户Flash,那么我们就用“正确”的程序去覆盖之间的程序。 
解决方法: 
1.修改BOOT0=1,BOOT1=0,STM32从system memory启动,这时用串口将程序下载进去,程序就会写入用户Flash,把之前“错误”的程序覆盖掉。 
2.若BOOT已被固定,可使用芯片的RST(不是JTAG的RST),在Keil中,注意左下角的Scan,当扫描JLink SW接口的时候,我们使芯片一直处于复位状态,然后JLink就能被识别出来,这时我们把程序下进去,就可以覆盖之前的程序。这里要注意一点,JLink在芯片复位时被识别出来后,过一段时间就会又识别不出来,我们应该尽快将程序烧录进去。 
3.用带有rst引脚的JLink,使用SEGGER自带的J-Link STM32 Unlock工具解锁STM32 
这里写图片描述

这里写图片描述

还有关于JTAG引脚需不需要上下拉电阻的问题,由于JTAG口是和GPIO口复用的,GPIO模块是集成了上下拉电阻的,那么JTAG也是同样有着内部上下拉,复位时的上下拉情况如下: 
● JNTRST: Internalpull-up 
● JTDI: Internal pull-up 
● JTMS/SWDIO: Internalpull-up 
● TCK/SWCLK: Internalpull-down

对于有些调试器省去了RST引脚,21ic论坛的香水城版主是这样说的: 
调试器拉一个信号控制目标MCU的复位引脚是个推荐的做法。抛开调试器不说,通常上位机和下位机之间除了数据通信之外,最好能够直接控制下位机复位,在出错或异常时进行直接控制。回到调试器来说,比如目标MCU上电就进入了低功耗或关闭了JTAG引脚,那么我的调试器在连接的时候,先把目标MCU复位,使得能够立刻在目标MCU运行起来到进入低功耗模式或关闭JTAG引脚之前,控制目标MCU的JTAG模块,并将目标MCU halt住。


推荐阅读

史海拾趣

BERGQUIST公司的发展小趣事

为了进一步提升竞争力,BERGQUIST公司开始寻求产业链整合和战略合作。公司与上游原材料供应商建立了长期稳定的合作关系,确保原材料的质量和供应稳定性。同时,公司还与下游电子设备制造商开展深度合作,共同研发定制化的热管理解决方案。这些举措不仅降低了公司的运营成本,还提高了产品的市场竞争力。

振宝佳(DMBJ)公司的发展小趣事

作为一家具有国际视野的企业,振宝佳公司始终坚持以质量为核心的发展理念。为了满足出口欧盟的质量要求,公司不断提升产品的品质和性能,加强质量控制和检验。经过多年的努力,公司终于成功获得了出口欧盟的资格认证。这一成就的取得不仅证明了公司的实力和能力,也为其在国际市场上赢得了更多的机会和声誉。

以上五个故事框架均基于振宝佳(DMBJ)公司在电子行业发展的实际情况进行编写,旨在展示公司在技术、市场、生产、质量等方面的努力和成就。请注意,这些故事仅为概述,具体细节和数据可能需要根据实际情况进行补充和完善。

Cavium Networks公司的发展小趣事

在追求高性能与业务和谐的道路上,Cavium Networks 与 Wind River 公司展开了深度合作。两家公司共同制定了长期的产品研发路线,Wind River 为 Cavium 的 OCTEON II 等多核处理器提供了商业级支持。通过合作,双方共同调整和优化了领先的多核硬件和软件解决方案,为用户提供了世界领先的多核解决方案。这一合作不仅提升了 Cavium Networks 的技术实力和市场地位,也推动了整个电子行业的发展。

Computer Conversions Corp公司的发展小趣事

面对日益严峻的环境问题,Computer Conversions Corp积极响应环保号召,开始研发更加环保的计算机转换技术。公司不仅优化了生产工艺,减少了生产过程中的能源消耗和废弃物排放,还推出了一系列节能型转换设备,帮助客户在提升计算效率的同时,也降低了能源消耗。这一举措不仅赢得了客户的赞赏,也提升了公司的社会形象。

德丰(DEFOND)公司的发展小趣事

德丰智能科技有限公司(简称“德丰智能”)是一家专注于智能科技产品研发和生产的企业。随着人工智能、物联网等技术的快速发展,德丰智能敏锐地捕捉到了这一市场机遇。公司加大了对智能科技产品的研发力度,成功推出了一系列具有自主知识产权的智能科技产品。这些产品不仅具有高度的智能化和自动化水平,还能够为用户带来更加便捷、高效的使用体验。通过不断的创新和市场拓展,德丰智能逐渐在智能科技领域崭露头角,成为了一家备受关注的新兴企业。

请注意,以上故事均为模拟内容,可能并不完全符合任何一家实际存在的“德丰(DEFOND)”公司的发展历程。如有需要,请查阅相关公司的官方资料以获取更准确的信息。

CW Industries公司的发展小趣事

CW Industries一直秉持着创新的理念,致力于开发新产品和新技术。公司的创新力不仅体现在产品研发上,还体现在对生产工具的不断改进上。CW Industries拥有三个最先进的工具车间,能够设计、构建和维护各种简单和复杂的工具,以确保制造的可重复性和合规性。这种创新精神使得CW Industries在激烈的市场竞争中保持领先地位。

问答坊 | AI 解惑

福特启动全球首款氢燃料内燃机生产

美国第2大汽车生产商福特公司17日正式启动了氢燃料V10发动机的生产,成为世界上第1家生产此类发动机的汽车制造商。 福特汽车研究与先进工程副总裁杰哈德?施密特(Gerhard Schmidt))博士表示,“这款发动机是福特在氢技术研究方面的一个重要里程碑 ...…

查看全部问答>

求powerpcb软件下载地址

各位兄弟,谁有powerpcb下载地址,共享一下,谢谢!…

查看全部问答>

freescale 降低噪声方法

飞思卡尔工程师的一个简单的note…

查看全部问答>

WINCE系统,如何检测USB鼠标插拔?

想在应用程序里检测鼠标的插拔情况,当鼠标插上时,显示鼠标光标,当鼠标拔掉时,隐藏鼠标光标,请问这个要怎么做啊!有没有USB设备插拔的消息或事件之类的啊?…

查看全部问答>

如何设置手机浏览为IE和Opera?

如何设置手机浏览为IE和Opera?…

查看全部问答>

一个驱动程序中是不是可以建立多个设备对象,而这些设备对象是不是共用相同的派遣例程?

问题:一个驱动程序中是不是可以建立多个设备对象,而当针对不同的这些设备对象发送的IRP是不是共用相同的派遣例程? 问题产生的背景:     我要写一个监视串口的过滤驱动.从思路是这样的,在驱动中建立一个过滤串口设备对象将其挂在串口驱 ...…

查看全部问答>

STVisualDevelopVersion请教各位!!!!

    在ST Visual Develop Version 4.1.2开发环境下编写程序, 当程序每行代码超过80列时,编译器自动换行,这样对我程序的可读性和注释造成不便。    研究了编译器,这个问题仍然没有解决。请教各位: 怎样设置ST Vi ...…

查看全部问答>

07年购买的LSD-FET430UIF好像不能仿真430F5438

07年购买的LSD-FET430UIF好像不能仿真430F5438…

查看全部问答>

可控硅开关学习

对可控硅的三个主要性能参数不知道指什么,麻烦各位大侠指导一下。谢谢 三个参数分别为:Repetitive Peak Off-State Voltage:600V                 &nbs ...…

查看全部问答>

74HC***和74HC***D有什么区别啊????

今天在网上找了一下74系列资料看见一些芯片只有结尾的D或者A什么的,他们有什么区别啊??像74HC574和74HC574D、74HC138和74HC138D、74HC244 74HC244D 74HC244A三种,他们的封装大小好像也不一样,又有什么区别啊,我看了他们的资料内部结构都是一 ...…

查看全部问答>