一种在单片机运行期间在线更新闪存数据的装置及方法制造方法及图纸

技术编号:30805161 阅读:18 留言:0更新日期:2021-11-16 08:12
本发明专利技术公开一种在单片机运行期间在线更新闪存数据的装置及方法,涉及单片机技术领域。所述装置包括:单片机;单片机包括:闪存,用于存储程序代码,中央处理器,用于从闪存中读取程序代码并执行;外设模块,分别与中央处理器和闪存连接,用于进行闪存操作,在闪存操作时,在时序上生成一条忙信号,使中央处理器暂停从闪存读取程序代码;在闪存操作完成后,释放忙信号,使中央处理器恢复继续从闪存读取程序代码并执行;以及在闪存操作期间,输出闪存所需要的各种组合信号,完成闪存操作。通过本发明专利技术实施例,可使中央处理器能够方便地在线控制闪存的读写和修改,以解决程序更新需要通过烧录器来进行烧录的弊端,提高研发效率。提高研发效率。提高研发效率。

【技术实现步骤摘要】
一种在单片机运行期间在线更新闪存数据的装置及方法


[0001]本专利技术涉及单片机
,尤其涉及一种在单片机运行期间在线更新闪存数据的装置及方法。

技术介绍

[0002]单片机的CPU(Central Processing Unit,中央处理器)在执行的时候,需要从ROM(Read

Only Memory,只读存储器ROM)中读取程序代码。ROM的代码,用编译器编译好后,预先在流片的时候,或者通过烧录器烧写到单片机的ROM中。程序代码一旦设定好,就不能再修改。
[0003]闪存(FLASH)因具有可以反复擦写的特点,广泛用作各种单片机的ROM,使单片机的程序可以反复修改。传统的做法是使用烧录器,通过烧录器实现上述程序在闪存的反复擦写更新。
[0004]但在实际应用中,存在有这样一种研发需求,需要完全摆脱烧录器来实现程序更新的需求,单片机的CPU需要一边在线执行闪存上的程序代码,一边在线修改闪存上的存储的代码数据。由于闪存在读取数据操作和擦写数据操作在时序上不能同时进行,这意味着,内部只使用一片闪存的单片机,CPU在执行在线修改闪存数据时,会有一段时间无法从闪存中读取到程序代码,造成CPU没有代码导致执行出错,降低研发效率,影响用户体验。此时,无法使用烧录器满足上述需求,需要提出一种新的方法来实现上述需求。

技术实现思路

[0005]本专利技术实施例旨在提供一种在单片机运行期间在线更新闪存数据的装置及方法,可以使单片机内部的中央处理器能够方便地在线控制闪存的读写和修改,以解决程序更新需要通过烧录器来进行烧录更新的弊端,提高研发效率,提升用户体验。
[0006]为解决上述技术问题,本专利技术实施例提供以下技术方案:一种在单片机运行期间在线更新闪存数据的装置,所述装置包括:单片机,其中:所述单片机包括中央处理器、闪存和外设模块;所述闪存与所述中央处理器连接,用于存储程序代码;所述中央处理器用于从所述闪存中读取程序代码并执行;所述外设模块,分别与所述中央处理器和所述闪存连接,用于进行闪存操作,在闪存操作时,在时序上生成一条忙信号,所述忙信号可使所述中央处理器暂停从所述闪存读取程序代码;并在闪存操作完成后,释放所述忙信号,使所述中央处理器恢复继续从所述闪存读取程序代码并执行;以及用于在闪存操作期间,输出所述闪存所需要的各种组合信号,完成闪存操作。
[0007]可选地,所述闪存操作包括以下之一的闪存操作:参数设置、时序设置、数据读取、闪存擦写、扇区擦除、字节编程。
[0008]可选地,所述外设模块包括至少一个寄存器,所述寄存器用于提供给所述中央处
理器设置闪存的时序参数。
[0009]可选地,所述时序参数包括以下之一:擦除时间的长短、烧录时间的长短、恢复时间的长短。
[0010]可选地,所述外设模块用于进行闪存操作,在闪存操作时,在时序上产生一条忙信号;包括:所述外设模块使用所述寄存器的启动位产生启动状态标记,启动闪存擦写操作,所述外设模块在时序上生成一条忙信号,所述忙信号可使所述中央处理器暂停从所述闪存读取程序代码,也不再执行程序代码。
[0011]可选地,在所述忙信号启动后,所述中央处理器不再从所述闪存读取程序代码,也不再执行程序代码;在这期间遇到触发的中断请求,也不再响应所述中断请求。
[0012]可选地,所述外设模块用于在闪存操作完成后,释放所述忙信号;包括:当闪存擦写操作完成后的时钟周期内,所述外设模块改变闪存控制信号,使闪存恢复到读数据状态;在闪存擦写操作完成后的下一个周期,所述外设模块使用所述寄存器的结束状态位产生结束状态标记,同时释放所述忙信号。
[0013]可选地,在所述忙信号被释放后,所述中央处理器开始恢复继续从所述闪存读取程序代码并继续执行;在这期间遇到触发的中断请求,则所述中央处理器响应所述中断请求。
[0014]可选地,所述外设模块还包括信号产生器,所述信号产生器用于在闪存操作期间,输出所述闪存所需要的各种组合信号。
[0015]为解决上述技术问题,本专利技术实施例还提供以下技术方案:一种在单片机运行期间在线更新闪存数据的方法,其特征在于,应用于本专利技术任一实施例所述的一种在单片机运行期间在线更新闪存数据的装置,所述装置包括:单片机和外设模块;所述单片机包括中央处理器和闪存;所述闪存分别与所述中央处理器和所述外设模块连接;其中,所述方法包括:外设模块在闪存操作时,在时序上生成一条忙信号;中央处理器在所述忙信号启动后,暂停从所述闪存读取程序代码;外设模块在闪存操作期间,输出所述闪存所需要的各种组合信号,完成闪存操作;外设模块闪存操作完成后,释放所述忙信号;中央处理器在所述忙信号被释放后,恢复继续从所述闪存读取程序代码并执行。
[0016]与现有技术相比较,本专利技术实施例提供的一种在单片机运行期间在线更新闪存数据的装置及方法,通过单片机包括CPU、闪存和外设模块,所述闪存与所述CPU连接,存储程序代码;所述CPU从所述闪存中读取程序代码并执行;所述外设模块分别与所述CPU和所述闪存连接,用于进行闪存操作,在闪存操作时,在时序上生成一条忙信号,所述忙信号可使所述CPU暂停从所述闪存读取程序代码;并在闪存操作完成后,释放所述忙信号,使所述CPU恢复继续从所述闪存读取程序代码并往下执行;以及用于在闪存操作期间,输出所述闪存所需要的各种组合信号,完成闪存操作。从而可以在单片机运行期间无需借助烧录器即可对所述闪存中存储的程序代码数据进行在线修改,需要完全摆脱烧录器,满足单片机的CPU一边在线执行闪存上的程序代码,一边在线修改闪存上的存储的程序代码数据的研发需
求,使得内部只使用一片闪存的单片机,CPU在执行在线修改闪存数据时,并不会出现有一段时间无法从闪存中读取到程序代码而导致执行出错,使单片机内部的CPU能够方便地在线控制闪存的读写和修改,以解决ROM程序更新需要通过烧录器来进行烧录更新的弊端,提高研发效率,提升用户体验。
附图说明
[0017]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0018]图1是本专利技术提供的一种在单片机运行期间在线更新闪存数据的装置的结构示意图。
[0019]图2是本专利技术提供的一种在单片机运行期间在线更新闪存数据的装置在闪存擦写操作的时序示意图。
[0020]图3是本专利技术提供的一种在单片机运行期间在线更新闪存数据的方法的流程示意图。
具体实施方式
[0021]为了便于理解本专利技术,下面结合附图和具体实施例,对本专利技术进行更详细的说明。需要说明的是,当元件被表述“固定于”另一个元件,它可以直接在另一个元件上、或者其间可以存在一个或多个居中的元件。当一个元件被表述“连接”另一个元件,它可以是直接连接到另一个元件、或者其间可以存在一个或多个居中的元件。本说明书所使用的术语“上”、“下”、“内”本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在单片机运行期间在线更新闪存数据的装置,其特征在于,所述装置包括:单片机,其中:所述单片机包括中央处理器、闪存和外设模块;所述闪存与所述中央处理器连接,用于存储程序代码;所述中央处理器用于从所述闪存中读取程序代码并执行;所述外设模块,分别与所述中央处理器和所述闪存连接,用于进行闪存操作,在闪存操作时,在时序上生成一条忙信号,所述忙信号可使所述中央处理器暂停从所述闪存读取程序代码;并在闪存操作完成后,释放所述忙信号,使所述中央处理器恢复继续从所述闪存读取程序代码并执行;以及用于在闪存操作期间,输出所述闪存所需要的各种组合信号,完成闪存操作。2.根据权利要求1所述的装置,其特征在于,所述闪存操作包括以下之一的闪存操作:参数设置、时序设置、数据读取、闪存擦写、扇区擦除、字节编程。3.根据权利要求1所述的装置,其特征在于,所述外设模块包括至少一个寄存器,所述寄存器用于提供给所述中央处理器设置闪存操作的参数,所述闪存操作的参数包括:时序参数、地址参数和闪存数据。4.根据权利要求3所述的装置,其特征在于,所述时序参数包括以下之一:擦除时间的长短、烧录时间的长短、恢复时间的长短。5.根据权利要求3所述的装置,其特征在于,所述外设模块用于进行闪存操作,在闪存操作时,在时序上产生一条忙信号;包括:所述外设模块使用所述寄存器的启动位产生启动状态标记,启动闪存擦写操作,所述外设模块在时序上生成一条忙信号,所述忙信号可使所述中央处理器暂停从所述闪存读取程序代码,也不再执行程序代码。6.根据权利要求5所述的装置,其特征在于,在所述...

【专利技术属性】
技术研发人员:杨智华罗盛裕周黄
申请(专利权)人:深圳市智想科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1