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

文档序号:8361287阅读:来源:国知局
和所述系统总线510与所述处理器501通信。
[0168]依据本发明实施例,在总的静态随机存储器SRAM资源固定的情况下,通过应用程序配置向MCU配置闪存和内存各自的容量,然后按照闪存容量,分配内存与闪存各自所占静态随机存储器的大小,从而可以适应适应不同产品,不同客户,不同应用场景下需求,避免出现闪存容量闲置浪费,而内存容量却不够用的情况,达到SRAM资源的最有效利用,并且可以通过满足内存的需求提高芯片的使用性能。同时,采用本发明实施例,避免了闲置浪费的闪存SRAM的存在使芯片面积比实际需求偏大较多,利于芯片小型化。
[0169]并且,依据本发明实施例,还可以在控制信息存储器OTP中配置最大闪存容量,在芯片上电复位后,即按照配置的最大闪存容量分配内存与闪存各自所占静态随机存储器的大小,从而可以适应不用的应用场景和需求。
[0170]依据本发明实施例,针对SRAM可能产生缺陷导致SRAM不能使用的问题,本发明同样通过合理的调配SRAM资源,将坏块标记为不可用,将可用的SRAM重新组合起来重新编号,使得此颗芯片在某些产品上仍然可用,而不至于丢弃。
[0171]对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0172]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0173]本发明实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0174]对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0175]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0176]以上对本发明所提供的一种微控制单元MCU中资源动态分配的方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种微控制单元MCU中资源动态分配的方法,其特征在于,所述MCU包括处理器和静态随机存储器,所述静态随机存储器包括多个存储块,所述方法包括: 所述MCU接收所述处理器在运行应用程序时配置的预设闪存容量,所述预设闪存容量小于所述静态随机存储器的最大闪存容量; 按照所述预设闪存容量分配所述静态随机存储器中用于闪存存储的闪存存储块以及用于内存存储的内存存储块; 读取并执行所述闪存存储块中的程序数据,同时与所述内存存储块进行数据交互。
2.根据权利要求1所述的方法,其特征在于,所述MCU还包括控制信息存储器,所述控制信息存储器存储有所述静态随机存储器的坏块信息; 在所述MCU接收所述处理器在运行应用程序时配置的预设闪存容量的步骤之前,所述方法还包括: 在所述MCU上电复位后,所述MCU从所述控制信息存储器读取所述坏块信息; 将所述静态随机存储器的坏块标记为不可用,并根据所述坏块信息重新组织非坏块的存储块的位置。
3.根据权利要求2所述的方法,其特征在于,所述控制信息存储器还存储有所述最大闪存容量信息,在所述MCU接收所述处理器在运行应用程序时配置的预设闪存容量的步骤之前,所述方法还包括: 根据在所述MCU上电复位后,所述MCU从所述控制信息存储器读取所述最大闪存容量信息; 按照所述最大闪存容量信息分配所述静态随机存储器中用于闪存存储的闪存存储块,分配后剩余的存储块为用于内存存储的内存存储块; 读取所述闪存存储块中的程序数据,并运行所述程序数据。
4.根据权利要求3所述的方法,其特征在于,所述MCU还与闪存芯片连接,所述方法还包括: 若所述MCU第一次上电,则复制所述闪存芯片中的程序数据至所述静态随机存储器中用于闪存存储的闪存存储块。
5.根据权利要求1所述的方法,其特征在于,所述预设闪存容量为所需存储块的个数,所述存储块具有各自的编号,所述按照预设闪存容量分配静态随机存储器中用于闪存存储的闪存存储块以及用于内存存储的内存存储块的步骤包括: 将各个存储块的编号与所需存储块的个数进行比较; 将所述编号小于所需存储块的个数的作为用于闪存存储的闪存存储块,将所述编号大于或等于所需存储块的个数的作为用于内存存储的内存存储块。
6.根据权利要求4所述的方法,其特征在于,所述MCU与所述闪存芯片相互独立并在外部物理连接,或者所述闪存芯片集成在所述MCU中。
7.根据权利要求1所述的方法,其特征在于,所述MCU还包括闪存总线接口和系统总线,所述MCU通过所述闪存总线接口和所述系统总线,接收所述处理器在运行应用程序时配置的预设闪存容量。
8.一种微控制单元MCU中资源动态分配的系统,其特征在于,所述MCU包括处理器和静态随机存储器,所述静态随机存储器包括多个存储块; 所述MCU还包括配置寄存单元和存储块分配单元: 所述配置寄存单元,用于接收所述处理器在运行应用程序时配置的预设闪存容量,所述预设闪存容量小于所述静态随机存储器的最大闪存容量; 所述存储块分配单元,用于按照所述预设闪存容量分配所述静态随机存储器中用于闪存存储的闪存存储块以及用于内存存储的内存存储块; 所述处理器,用于读取并执行所述闪存存储块中的程序数据,同时与所述内存存储块进行数据交互。
9.根据权利要求8所述的系统,其特征在于,所述MCU还包括控制信息存储器,所述控制信息存储器存储有所述静态随机存储器的坏块信息; 所述MCU还包括: 主控单元,用于在所述MCU上电复位后,从所述控制信息存储器读取所述坏块信息;静态随机存储器重组单元,用于将所述静态随机存储器的坏块标记为不可用,并根据所述坏块信息重新组织非坏块的存储块的位置。
10.根据权利要求9所述的系统,其特征在于,所述控制信息存储器还存储有所述最大闪存容量信息; 所述主控单元,还用于根据在所述MCU上电复位后,从所述控制信息存储器读取所述最大闪存容量信息; 所述存储块分配单元,还用于按照所述最大闪存容量信息分配所述静态随机存储器中用于闪存存储的闪存存储块,分配后剩余的存储块为用于内存存储的内存存储块。
11.根据权利要求10所述的系统,其特征在于,还包括与所述MCU连接的闪存芯片,所述系统还包括: 闪存控制单元,用于若所述MCU第一次上电,则复制所述闪存芯片中的程序数据至所述静态随机存储器中用于闪存存储的闪存存储块。
12.根据权利要求8所述的系统,其特征在于,所述预设闪存容量为所需存储块的个数,所述存储块具有各自的编号,所述存储块分配单元包括: 比较子单元,用于将各个存储块的编号与所需存储块的个数进行比较; 选择子单元,用于将所述编号小于所需存储块的个数的作为用于闪存存储的闪存存储块,将所述编号大于或等于所需存储块的个数的作为用于内存存储的内存存储块。
13.根据权利要求11所述的系统,其特征在于,所述MCU与所述闪存芯片相互独立并在外部物理连接,或者所述闪存芯片集成在所述MCU中。
14.根据权利要求8所述的系统,其特征在于,所述MCU还包括闪存总线接口和系统总线,所述配置寄存单元和所述存储块分配单元通过所述闪存总线接口和所述系统总线与所述处理器通信。
【专利摘要】本发明提供了一种微控制单元MCU中资源动态分配的方法和系统,所述MCU包括处理器和静态随机存储器,所述静态随机存储器包括多个存储块,所述方法包括:所述MCU接收所述处理器在运行应用程序时配置的预设闪存容量,所述预设闪存容量小于所述静态随机存储器的最大闪存容量;按照所述预设闪存容量分配所述静态随机存储器中用于闪存存储的闪存存储块以及用于内存存储的内存存储块;读取并执行所述闪存存储块中的程序数据,同时与所述内存存储块进行数据交互。本发明可以适应适应不同产品,不同客户,不同应用场景下需求,避免出现闪存容量闲置浪费,而内存容量却不够用的情况。
【IPC分类】G06F12-06, G06F9-50
【公开号】CN104679592
【申请号】CN201310638362
【发明人】王南飞, 李宝魁
【申请人】北京兆易创新科技股份有限公司
【公开日】2015年6月3日
【申请日】2013年12月2日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1