KL25进入低功耗模式无法退出后的芯片救活

2024-02-03 16:38

本文主要是介绍KL25进入低功耗模式无法退出后的芯片救活,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

KL25是一款主打低功耗的芯片。支持9种低功耗模式。而在一些非常低功耗的模式下,调试器是无法工作的。这样,如果不做调试,你自己也不知道写得代码是否正确;如果要调试,就只能把代码下载到片上执行,然后利用LED或者串口来做些指示,使用最原始的调试办法,因为J-link不能工作。

这个时候问题就出来了:如果片子进入低功耗模式,而唤醒的代码又不能正确执行,那么这块芯片基本上就废了。因为J-link根本连接不上芯片,我们就没法操控芯片,以后也没有办法下载新的代码。该怎么办呢?

我最近两天就遇到了这种情况。本来到手的比赛项目各个模块已经基本完工,为了提高性能,打算写低功耗模块。结果片子进入了低功耗模式之后,J-link不能工作,而我的中断唤醒又写得不正确,结果以后就失去了对片子的控制,这种情况,花了我整整一天才破解,而破解成功也仅仅只是侥幸而已。

破解的办法就是用J-link擦除flash,重新编程。我们先将芯片连上J-link下载器,如果直接用IAR下载代码,会提示无法连接,或者提醒得不到时钟周期。这是因为芯片进入了低功耗模式,J-link的引脚得不到供电。我们可以使用J-flash工具来进行擦除。我当时使用的是SWD模式,因为KL25只支持SWD模式控制。在J-flash配置中找到这款芯片,设置芯片工作为安全模式(不一定需要这么设置,不过我当时这么设置了一下,也不知道是不是必须的),然后选择整片擦除,如果仍然不能擦除,那么尝试在点击擦除同时,马上按下开发板上的复位键,这点很重要!因为当你按下复位键,系统就会重新启动,在未进入低功耗之前,J-link将可以得到供电,从而可以工作,对芯片进行控制。

后来我又多次碰到了这样的情况,每次直接在IAR界面中,点击擦除flash的时赶紧按下复位键,就可以擦掉flash重新编程。其他的操作是不是必须的我不知道,不过如果碰到了这种情况,那么一定要试一下擦除的同时按下复位。

这篇关于KL25进入低功耗模式无法退出后的芯片救活的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/674758

相关文章

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

C++中的解释器模式实例详解

《C++中的解释器模式实例详解》这篇文章总结了C++标准库中的算法分类,还介绍了sort和stable_sort的区别,以及remove和erase的结合使用,结合实例代码给大家介绍的非常详细,感兴趣... 目录1、非修改序列算法1.1 find 和 find_if1.2 count 和 count_if1

Redis中群集三种模式的实现

《Redis中群集三种模式的实现》Redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1. Redis三种模式概述2、Redis 主从复制2.1 主从复制的作用2.2 主从复制流程2

深入理解MySQL流模式

《深入理解MySQL流模式》MySQL的Binlog流模式是一种实时读取二进制日志的技术,允许下游系统几乎无延迟地获取数据库变更事件,适用于需要极低延迟复制的场景,感兴趣的可以了解一下... 目录核心概念一句话总结1. 背景知识:什么是 Binlog?2. 传统方式 vs. 流模式传统文件方式 (非流式)流

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.