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

相关文章

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.

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.