一种MCU程序执行方法和芯片技术

技术编号:28709356 阅读:22 留言:0更新日期:2021-06-05 23:31
本发明专利技术涉及一种MCU程序执行方法和芯片,所述方法的一个实施方式包括:在芯片上电复位后,尝试读取FLASH存储单元中的数据;如果所述尝试读取成功,则执行FLASH存储单元中的第一指令以取消所述芯片在初始化过程中对ROM存储单元的读取,并复位MCU,开始执行FLASH存储单元中的MCU程序;如果所述尝试读取失败,则读取ROM存储单元,并复位MCU,开始执行ROM存储单元中的MCU程序。该实施方式能够在不增加芯片I/O的前提下实现MCU程序在FLASH存储单元和ROM存储单元中的同时存放。储单元中的同时存放。储单元中的同时存放。

【技术实现步骤摘要】
一种MCU程序执行方法和芯片


[0001]本专利技术涉及集成电路
,尤其涉及一种MCU程序执行方法和芯片。

技术介绍

[0002]当芯片内集成MCU(Micro Controller Unit,微控制单元)时,MCU所执行的程序(下称为MCU程序)有两种存放方法,一种存放于外部的FLASH存储单元中,芯片上电后从FLASH存储单元中读取MCU程序数据,FLASH可以重复烧写。另一种固化于芯片内部的ROM存储单元中,芯片上电后从ROM存储单元读取MCU程序数据。
[0003]在专利技术人实现本专利技术的过程中,发现现有技术至少存在以下缺陷:
[0004]如果将MCU程序存放于FLASH存储单元中,可以根据芯片的测试结果、使用情况或客户反馈来修改MCU程序数据,优化芯片性能,但是需要额外的FLASH存储单元存放MCU程序,增加了芯片成本。
[0005]如果将MCU程序固化于ROM存储单元中,则若芯片在测试或使用中发现问题,无法修改程序,不够灵活,甚至会导致芯片无法正常工作。
[0006]如果将MCU程序同时存放在FLASH存储单元和ROM存储单元,则需要额外增加一个芯片I/O(Input/Output,输入输出)来选择MCU程序的存放位置。当芯片规模较小时,芯片面积受限于I/O数量,额外增加一个I/O会增加芯片面积,芯片封装成本也会随之增加。另外,如果通过芯片I/O选择MCU程序的存放位置,还需要修改PCB(Publishing Circuit Board,印制电路板)来改变芯片I/O的输入值,降低了灵活性和实用性。
[0007]因此,针对以上不足,需要提供一种能够克服以上缺陷的MCU程序执行方法和相应芯片。

技术实现思路

[0008]本专利技术要解决的技术问题是:如何在不增加芯片I/O的前提下实现MCU程序在FLASH存储单元和ROM存储单元中的同时存放,并且在不降低MCU程序修改灵活性的基础上使芯片具有较低成本。
[0009]为了解决上述技术问题,在一个方面,本专利技术提供了一种MCU程序执行方法。
[0010]本专利技术实施例的MCU程序执行方法应用在包含微控制单元MCU和ROM存储单元的芯片的初始化过程中,所述方法包括:在所述芯片上电复位后,尝试读取FLASH存储单元中的数据;其中,当所述芯片集成FLASH存储单元时,FLASH存储单元中包括MCU程序和第一指令,第一指令用于修改所述芯片的寄存器数据以取消所述芯片在初始化过程中对ROM存储单元的读取;当所述芯片未集成FLASH存储单元时,ROM存储单元中包括MCU程序;如果所述尝试读取成功,则执行第一指令以取消所述芯片在初始化过程中对ROM存储单元的读取,并复位MCU,开始执行FLASH存储单元中的MCU程序;如果所述尝试读取失败,则读取ROM存储单元,并复位MCU,开始执行ROM存储单元中的MCU程序。
[0011]优选地,在MCU程序未稳定时,所述芯片中集成FLASH存储单元,FLASH存储单元中
存储所述芯片在测试或使用过程中被优化的该MCU程序;在MCU程序稳定后,稳定的该MCU程序被写入ROM存储单元。
[0012]优选地,在稳定的MCU程序被写入ROM存储单元之后,FLASH存储单元被移出所述芯片;在FLASH存储单元被移出所述芯片之后,所述芯片被执行封装。
[0013]优选地,所述方法进一步包括:在所述复位MCU之前,将FLASH存储单元或ROM存储单元中的MCU程序写到所述芯片的静态随机存取存储器SRAM中。
[0014]优选地,所述开始执行FLASH存储单元中的MCU程序,包括:从SRAM中执行MCU程序;所述开始执行ROM存储单元中的MCU程序,包括:从SRAM中执行MCU程序。
[0015]在另一方面,本专利技术提供了一种芯片。
[0016]本专利技术实施例的芯片包括微控制单元MCU和ROM存储单元;当所述芯片集成FLASH存储单元时,FLASH存储单元中包括MCU程序和第一指令,第一指令用于修改所述芯片的寄存器数据以取消所述芯片在初始化过程中对ROM存储单元的读取;当所述芯片未集成FLASH存储单元时,ROM存储单元中包括MCU程序;所述芯片在上电复位后的初始化步骤包括:尝试读取FLASH存储单元中的数据;如果所述尝试读取成功,则执行FLASH存储单元中的第一指令以取消所述芯片在初始化过程中对ROM存储单元的读取,并复位MCU,开始执行FLASH存储单元中的MCU程序;如果所述尝试读取失败,则读取ROM存储单元,并复位MCU,开始执行ROM存储单元中的MCU程序。
[0017]优选地,在MCU程序未稳定时,所述芯片中集成FLASH存储单元,FLASH存储单元中存储所述芯片在测试或使用过程中被优化的该MCU程序;在MCU程序稳定后,稳定的该MCU程序被写入ROM存储单元。
[0018]优选地,在稳定的MCU程序被写入ROM存储单元之后,FLASH存储单元被移出所述芯片;在FLASH存储单元被移出所述芯片之后,所述芯片被执行封装。
[0019]优选地,所述芯片的初始化步骤进一步包括:在所述复位MCU之前,将FLASH存储单元或ROM存储单元中MCU程序写到所述芯片的静态随机存取存储器SRAM中;在所述复位MCU之后,从SRAM中执行MCU程序。
[0020]本专利技术的上述技术方案具有如下优点:在MCU程序稳定之前,将未稳定的MCU程序存放在FLASH存储单元以便随时进行修改和优化;在MCU程序稳定之后,将稳定的MCU程序写入ROM存储单元,并在芯片封装时去掉FLASH存储单元以降低成本。芯片在任何阶段(包括MCU程序稳定之前和MCU程序稳定之后)均执行以下初始化逻辑:芯片上电复位后,首先尝试读取FLASH存储单元中的数据;如果尝试读取成功,则执行FLASH存储单元中的第一指令以取消芯片在初始化过程中对ROM存储单元的读取,并复位MCU,开始执行FLASH存储单元中的MCU程序;如果尝试读取失败,则读取ROM存储单元,并复位MCU,开始执行ROM存储单元中的MCU程序。这样,即能够在不增加芯片I/O的前提下实现MCU程序在FLASH存储单元和ROM存储单元中的同时存放,并且在不降低MCU程序修改灵活性的基础上使芯片具有较低成本。
附图说明
[0021]图1是本专利技术实施例中MCU程序执行方法的主要步骤示意图;
[0022]图2是本专利技术实施例中MCU程序执行方法的具体执行步骤示意图;
[0023]图3是本专利技术实施例的芯片的组成部分示意图。
具体实施方式
[0024]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]图1是本专利技术实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种MCU程序执行方法,应用在包含微控制单元MCU和ROM存储单元的芯片的初始化过程中;其特征在于,所述方法包括:在所述芯片上电复位后,尝试读取FLASH存储单元中的数据;其中,当所述芯片集成FLASH存储单元时,FLASH存储单元中包括MCU程序和第一指令,第一指令用于修改所述芯片的寄存器数据以取消所述芯片在初始化过程中对ROM存储单元的读取;当所述芯片未集成FLASH存储单元时,ROM存储单元中包括MCU程序;如果所述尝试读取成功,则执行第一指令以取消所述芯片在初始化过程中对ROM存储单元的读取,并复位MCU,开始执行FLASH存储单元中的MCU程序;如果所述尝试读取失败,则读取ROM存储单元,并复位MCU,开始执行ROM存储单元中的MCU程序。2.如权利要求1所述的方法,其特征在于,在MCU程序未稳定时,所述芯片中集成FLASH存储单元,FLASH存储单元中存储所述芯片在测试或使用过程中被优化的该MCU程序;在MCU程序稳定后,稳定的该MCU程序被写入ROM存储单元。3.如权利要求2所述的方法,其特征在于,在稳定的MCU程序被写入ROM存储单元之后,FLASH存储单元被移出所述芯片;在FLASH存储单元被移出所述芯片之后,所述芯片被执行封装。4.如权利要求1所述的方法,其特征在于,所述方法进一步包括:在所述复位MCU之前,将FLASH存储单元或ROM存储单元中的MCU程序写到所述芯片的静态随机存取存储器SRAM中。5.如权利要求4所述的方法,其特征在于,所述开始执行FLASH存储单元中的MCU程序,包括:从SRAM中执行MCU程序;所述开始执行R...

【专利技术属性】
技术研发人员:李大江
申请(专利权)人:北京集睿致远科技有限公司
类型:发明
国别省市:

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

1