一种微控制单元mcu中资源动态分配的方法和系统的制作方法

文档序号:8361287阅读:242来源:国知局
一种微控制单元mcu中资源动态分配的方法和系统的制作方法
【技术领域】
[0001]本发明实施例涉及MCU技术领域,特别是涉及一种MCU中的系统配置信息的读取方法和系统。
【背景技术】
[0002]微控制单元(Micro Control Unit, MCU),又称单片微型计算机(Single ChipMicrocomputer, SCM)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的中央处理器(Central Processing Unit, CPU)、静态随机存储器(Static Random AccessMemory, SRAM)、只读存储器(Read-Only Memory, ROM)、定时计数器和多种1/0接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。其中,整个SRAM分为内存SRAM和闪存SRAM,内存SRAM暂存内存数据,闪存SRAM暂存闪存芯片数据。
[0003]MCU为通用芯片,根据个性化需求,一颗MCU芯片一般会定制多个产品系列(几个甚至可达几十个产品系列),芯片中闪存SRAM的大小根据最大的闪存容量确定的,而由于不同产品的个性化需求,其闪存容量的需求也不一样,但是所以在很多个性化的定制产品中,并不需要支持最大的闪存容量,从而会导致一些闪存SRAM闲置浪费。并且,当存在闲置浪费的闪存SRAM时,会使芯片面积比实际需求偏大较多,不利于芯片小型化。
[0004]另一方面,每个产品的闪存容量和内存容量都是固定,所以往往会存在一方面一些闪存SRAM闲置浪费,而内存容量却不够用的情况。
[0005]此外,整个SRAM的面积比较大,因此在芯片生产中SRAM出现缺陷的概率相应比较高,一般采取的处理方式是将这颗芯片丢弃,而实际上并不是所有的SRAM块均出现缺陷,大部分情况下只有部分SRAM块出现缺陷。如此,只有一小块SRAM在生产过程中出现缺陷,就会导致整个芯片丢弃,造成芯片的巨大浪费。

【发明内容】

[0006]本发明提供一种克服上述问题或者至少部分地解决上述问题的MCU中的系统配置信息的读取方法和系统。
[0007]本发明提供了一种微控制单元MCU中资源动态分配的方法,所述MCU包括处理器和静态随机存储器,所述静态随机存储器包括多个存储块,所述方法包括:
[0008]所述MCU接收所述处理器在运行应用程序时配置的预设闪存容量,所述预设闪存容量小于所述静态随机存储器的最大闪存容量;
[0009]按照所述预设闪存容量分配所述静态随机存储器中用于闪存存储的闪存存储块以及用于内存存储的内存存储块;
[0010]读取并执行所述闪存存储块中的程序数据,同时与所述内存存储块进行数据交互。
[0011]优选地,所述MCU还包括控制信息存储器,所述控制信息存储器存储有所述静态随机存储器的坏块信息;
[0012]在所述MCU接收所述处理器在运行应用程序时配置的预设闪存容量的步骤之前,所述方法还包括:
[0013]在所述MCU上电复位后,所述MCU从所述控制信息存储器读取所述坏块信息;
[0014]将所述静态随机存储器的坏块标记为不可用,并根据所述坏块信息重新组织非坏块的存储块的位置。
[0015]优选地,所述控制信息存储器还存储有所述最大闪存容量信息,在所述MCU接收所述处理器在运行应用程序时配置的预设闪存容量的步骤之前,所述方法还包括:
[0016]根据在所述MCU上电复位后,所述MCU从所述控制信息存储器读取所述最大闪存容量信息;
[0017]按照所述最大闪存容量信息分配所述静态随机存储器中用于闪存存储的闪存存储块,分配后剩余的存储块为用于内存存储的内存存储块;
[0018]读取所述闪存存储块中的程序数据,并运行所述程序数据。
[0019]优选地,所述MCU还与闪存芯片连接,所述方法还包括:
[0020]若所述MCU第一次上电,则复制所述闪存芯片中的程序数据至所述静态随机存储器中用于闪存存储的闪存存储块。
[0021]优选地,所述预设闪存容量为所需存储块的个数,所述存储块具有各自的编号,所述按照预设闪存容量分配静态随机存储器中用于闪存存储的闪存存储块以及用于内存存储的内存存储块的步骤包括:
[0022]将各个存储块的编号与所需存储块的个数进行比较;
[0023]将所述编号小于所需存储块的个数的作为用于闪存存储的闪存存储块,将所述编号大于或等于所需存储块的个数的作为用于内存存储的内存存储块。
[0024]优选地,所述MCU与所述闪存芯片相互独立并在外部物理连接,或者所述闪存芯片集成在所述MCU中。
[0025]优选地,所述MCU还包括闪存总线接口和系统总线,所述MCU通过所述闪存总线接口和所述系统总线,接收所述处理器在运行应用程序时配置的预设闪存容量。
[0026]本发明还提供了一种微控制单元MCU中资源动态分配的系统,所述MCU包括处理器和静态随机存储器,所述静态随机存储器包括多个存储块;
[0027]所述MCU还包括配置寄存单元和存储块分配单元:
[0028]所述配置寄存单元,用于接收所述处理器在运行应用程序时配置的预设闪存容量,所述预设闪存容量小于所述静态随机存储器的最大闪存容量;
[0029]所述存储块分配单元,用于按照所述预设闪存容量分配所述静态随机存储器中用于闪存存储的闪存存储块以及用于内存存储的内存存储块;
[0030]所述处理器,用于读取并执行所述闪存存储块中的程序数据,同时与所述内存存储块进行数据交互。
[0031]优选地,所述MCU还包括控制信息存储器,所述控制信息存储器存储有所述静态随机存储器的坏块信息;
[0032]所述MCU还包括:
[0033]主控单元,用于在所述MCU上电复位后,从所述控制信息存储器读取所述坏块信息;
[0034]静态随机存储器重组单元,用于将所述静态随机存储器的坏块标记为不可用,并根据所述坏块信息重新组织非坏块的存储块的位置。
[0035]优选地,所述控制信息存储器还存储有所述最大闪存容量信息;
[0036]所述主控单元,还用于根据在所述MCU上电复位后,从所述控制信息存储器读取所述最大闪存容量信息;
[0037]所述存储块分配单元,还用于按照所述最大闪存容量信息分配所述静态随机存储器中用于闪存存储的闪存存储块,分配后剩余的存储块为用于内存存储的内存存储块。
[0038]优选地,还包括与所述MCU连接的闪存芯片,所述系统还包括:
[0039]闪存控制单元,用于若所述MCU第一次上电,则复制所述闪存芯片中的程序数据至所述静态随机存储器中用于闪存存储的闪存存储块。
[0040]优选地,所述预设闪存容量为所需存储块的个数,所述存储块具有各自的编号,所述存储块分配单元包括:
[0041]比较子单元,用于将各个存储块的编号与所需存储块的个数进行比较;
[0042]选择子单元,用于将所述编号小于所需存储块的个数的作为用于闪存存储的闪存存储块,将所述编号大于或等于所需存储块的个数的作为用于内存存储的内存存储块。
[0043]优选地,所述MCU与所述闪存芯片相互独立并在外部物理连接,或者所述闪存芯片集成在所述MCU中。
[0044]优选地,所述MCU还包括闪存总线接口和系统总线,所述配置寄存单元和所述存储块分配单元通过所述闪存总线接口和所述系统总线与所述处理器通信。
[0045]与现有技术相比,本发明实施例包括以下优点:
[0046]依据本发明实施例,在总的静态随机存储器SRAM资源固定的情况下,通过应用程序配置向MCU配置闪存和内存各自的容量,然后按照闪存容量,分配内存与闪存各自所占静态随机存储器的大小,从而可以适应适应不同产品,不同客户,不同应用场景下需求,避免出现闪存容量闲置浪费,而内存容量却不够用的情况,达到SRAM资源的最有效利用,并且可以通过满足内存的需求提高芯片的使用性能。同时,采用本发明实施例,避免了闲置浪费的闪存SRAM的存在使芯片面积比实际需求偏大较多,利于芯片小型化。
[0047]并且,依据本发明实施例,还可以在控制信息存储器OTP中配置最大闪存容量,在芯片上电复位后,即按照配置的最大闪存容量分配内存与闪存各自所占静态随机存储器的大小,从而可以适应不用的应用场景和需求。
[0048]依据本发明实施例,针对SRAM可能产生缺陷导致SRAM不能使用的问题,本发明同样通过合理的调配SRAM资源,将坏块标记为不可用,将可用的SRAM重新组合起来重新编号,使得此颗芯片在某些产品上仍然可用,而不至于丢弃。
【附图说明】
[0049]图1是本发明实施例一的一种微控制单元MCU中资源动态分配的方法的流程图;
[0050]图2是本发明实施例二的一种微控制单元MCU中资源动态分配的方法的流程图;
[0051]图3是本发明实施例三的一种MCU的整体结构图;
[0052]图4是本发明实施例三的一种静态随机存储器的结构示意图;
[0053]图5是本发明实施例三的一种闪存控制器的结构示意图;
[0054]图6是本发明实施例三的一种内存控制器的结构示意图;
[0055]图7是本发明实施例三的一种静态随机存储器的结构示意图;
[0056]图8是本发明实施例三的一种微控制单元MCU中资源动态分配的方法的流程图;
[0057]图9是本发明实施例四的一种微控制单元MCU中资源动
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1