不进入halt状态可以操作mcu的flash吗

高干
• 阅读 55

我先来实际测试一下

使用的软件是*SPAnalyzer *(下载链接https://std.plus)

  1. 下载可执行的bin文件,确保CPU进入running状态 不进入halt状态可以操作mcu的flash吗 不进入halt状态可以操作mcu的flash吗 不进入halt状态可以操作mcu的flash吗

  2. 在cpu running状态下尝试擦除操作 不进入halt状态可以操作mcu的flash吗 不进入halt状态可以操作mcu的flash吗 不进入halt状态可以操作mcu的flash吗

  3. 先执行halt操作再尝试擦除操作 不进入halt状态可以操作mcu的flash吗 不进入halt状态可以操作mcu的flash吗

在很多MCU中,操作Flash(例如擦除、写入或修改Flash存储)通常需要将CPU进入一个“暂停”或“停止”状态,这有助于避免在Flash操作期间发生中断或未完成的操作,确保Flash的稳定性和正确性。具体要求取决于MCU的型号和其Flash控制器的设计 一般来说,MCU的Flash操作有以下几种常见要求:

进入暂停模式(Halt/Stop模式): 在某些MCU中,为了确保对Flash的操作不被打断,需要将CPU或主频降低到最低或使CPU进入停止状态。这可以避免发生意外的中断,尤其是对于需要持续长时间写入或擦除操作的情况。 禁止中断: 即使没有完全暂停CPU,通常也会禁止中断和外部事件,以防止在Flash操作过程中发生干扰。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java操作lua脚本
java操作lua脚本实例1.前言在上一篇文章Redis中使用Lua脚本来实现并发下的原子操作中我对Lua语言的一些简单的语法及其在Redis中的操作进行了介绍,但是在Java开发中我们还需要进一步的学习才能使这种技术落地。今天就结合SpringDataRedis这个我们经常使用的Redis开发组件来实际尝试一下Lua脚本。
Easter79 Easter79
3年前
stm8s和stm8l低功耗对比
stm8s和stm8l低功耗对比    在低功耗应用中,一般来说mcu是常态halt模式,然后偶尔被唤醒(外部中断或者内部定时唤醒)进入运行模式。所以对比低功耗性能,一般来说只需要对比run模式和halt下的功耗即可,因为项目选用的是通过内部定时器唤醒,所以选用activehaltmode。以下是stm8s003
Wesley13 Wesley13
3年前
java 线程及线程池
说明:线程共包括以下5种状态。1. 新建状态(New):线程对象被创建后,就进入了新建状态。例如,ThreadthreadnewThread()。2. 就绪状态(Runnable):也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread
Stella981 Stella981
3年前
STM32 实现内部Flash的读写(HAL库版)
  Flash中文名字叫闪存,是一种长寿命的非易失性(断电数据不丢失)的存储器。可以对称为块的存储器单元块进行擦写和再编程,在进行写入操作之前必须先执行擦除。一个NandFlash由多个块(Block)组成,每个块里面又包含很多页(page)。每个页对应一个空闲区域/冗余区域(sparearea),这个区域不是用来存储数据的,用于放置数据的校验值检测和
Wesley13 Wesley13
3年前
VirtualBox导入已安装好的操作系统的方法
VirtualBox导入已安装好的操作系统的方法1、修改UUID进入VirtualBox安装目录,运行VBoxManage修改UUID,命令运行如下:D:\\VirtualBoxVBoxManage.exe internalcommands setvdiuuid E:\\VirtualX
Wesley13 Wesley13
3年前
PIC中档单片机汇编指令详解(5)
位操作指令详述BCF数据寄存器指定位清0语法形式:BCFf,b操作数:f为数据寄存器的低7位地址(0x00~0x7F)B为数据位编号(0~7)执行时间:一个指令周期执行过程:使数据寄存器f的的b位清0状态标志影响:无说明:该指令可对任何数据寄存器的任意一个位置清0,常用于标志位的设定和清除,或者把某一管脚置成低电平。指
Easter79 Easter79
3年前
STM32 实现内部Flash的读写(HAL库版)
  Flash中文名字叫闪存,是一种长寿命的非易失性(断电数据不丢失)的存储器。可以对称为块的存储器单元块进行擦写和再编程,在进行写入操作之前必须先执行擦除。一个NandFlash由多个块(Block)组成,每个块里面又包含很多页(page)。每个页对应一个空闲区域/冗余区域(sparearea),这个区域不是用来存储数据的,用于放置数据的校验值检测和
Wesley13 Wesley13
3年前
PHP高性能编程
1.能用PHP数组完成的工作,绝不用文件形式来代替,数组是内存操作,内存操作速度对比文件操作快很多!2.判断一个数值是否在一个数组中,然后决定是否追加数组内容时,不推荐使用in\_array或者array\_key\_exists,因为函数判断都不如isset结构判断来的快!$num0;$resultar
晴雯 晴雯
1年前
SiteSucker Pro for Mac(网站下载工具)v5.1.5SiteSucker增强版
是Macos上一款专业网站下载工具,SiteSuckerPro是SiteSucker的增强版,在SiteSuckerMac版中输入网址就能离线下载一个网站里的所有内容,包括HTML、图片、CSS样式表、JS文件、Flash文件等,操作十分简单,非常的实用。
高干 高干
2星期前
直观的解锁mcu的flash
在嵌入式开发中,很多mcu通常会支持对flash进行加锁来保护数据和固件,防止未经允许的访问,st,nxp,ti等各家厂商都提供了各自的工具对自家的芯片进行操作,这里我开发了一个工个可以通用的解决这个问题,演示一下。软件下载地址
高干
高干
Lv1
别认输,天黑过后就是日出。
文章
2
粉丝
0
获赞
0