一种基于若干分区的mcu芯片信息保护方法和装置的制造方法

文档序号:8259292阅读:368来源:国知局
一种基于若干分区的mcu芯片信息保护方法和装置的制造方法
【技术领域】
[0001]本发明涉及电子电路技术领域,特别是涉及一种基于若干分区的MCU芯片信息保护方法和一种基于若干分区的MCU芯片信息保护装置。
【背景技术】
[0002]随着集成电路技术的不断提高,MCU(Micro Control Unit,微控制单元)芯片的应用越来越广泛,小到儿童玩具,大到工程机械,都需要用到MCU芯片。MCU芯片通常包含CPU (Central Processing Unit,中央处理器)、闪存(Flash Memory)、SRAM (Static RandomAccess Memory,静态随机存储器)和各种外围设备。在MCU芯片掉电时,闪存的内容不会丢失,而SRAM的内容则会丢失。闪存通常会被分为两个独立的区域:一个是闪存用户区,用来存储用户的程序;另一个是闪存信息区,用来存放MCU芯片的配置信息。SRAM —般用作片上缓存。
[0003]对于MCU芯片的方案商而言,也就是基于MCU芯片开发程序和外围电路的厂商,程序最终会烧写到MCU芯片的闪存用户区中,由于方案商的核心价值在于所开发的程序,故需要保证程序绝对安全,不能被他人窃取。MCU芯片的信息保护方案的目标就是保护闪存用户区的内容不被他人窃取。目前市场上的MCU芯片的产品在信息保护方案方面,都只是对其闪存用户区的内容整体地保护,无法满足多家公司合作开发程序的需求。因为它只能保护闪存用户区的内容不被客户窃取,而不能阻止合作开发程序的公司相互窃取对方的程序。
[0004]因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种MCU芯片的信息保护方案,用以保护程序不被客户窃取,同时保护合作开发程序的公司不能相互窃取对方的程序。

【发明内容】

[0005]本发明实施例所要解决的技术问题是提供一种基于若干分区的MCU芯片信息保护方法,用以保护程序不被客户窃取,同时保护合作开发程序的公司不能相互窃取对方的程序。
[0006]相应的,本发明实施例还提供了一种基于若干分区的MCU芯片信息保护装置,用以保证上述方法的实现及应用。
[0007]为了解决上述问题,本发明公开了一种基于若干分区的MCU芯片信息保护方法,所述MCU芯片包括指令总线、数据总线、闪存控制器和闪存用户区;所述闪存控制器用于将闪存用户区划分为若干分区,所述若干分区分别具有对应的分区工状态,所述的方法包括:
[0008]确定所述指令总线在访问所述闪存用户区时,所访问的在先分区;
[0009]进入所述在先分区对应的在先分区工作状态;
[0010]再次确定所述指令总线在访问所述闪存用户区时,所访问的当前分区;
[0011]若所述在先分区与所述当前分区不一致,则进入过渡状态;
[0012]判断处于所述过渡状态下的时间是否达到预设的等待时间;
[0013]若是,则进入所述当前分区对应的分区工作状态。
[0014]优选地,
[0015]在所述在先分区工作状态下,允许所述指令总线访问所述闪存用户区,允许所述数据总线访问所述在先分区,但禁止所述数据总线访问其他分区;
[0016]在所述过渡状态下,暂停所述指令总线访问所述闪存用户区,允许所述数据总线访问所述在先分区,但禁止所述数据总线访问其他分区;
[0017]在所述当前分区工作状态下,允许所述指令总线访问所述闪存用户区,禁止所述数据总线访问其他分区,但允许所述数据总线访问所述当前分区。
[0018]优选地,所述方法还包括:
[0019]在所述MCU芯片复位后,进入初始状态;在所述初始状态下,允许所述指令总线访问所述闪存用户区,禁止所述数据总线访问所述若干分区。
[0020]优选地,所述MCU芯片包括CPU,所述CPU为哈佛结构;所述预设的等待时间与CPU的特性相关;若所述CPU为ARM Cortex-M3,则所述预设的等待时间为20个CPU时钟周期。
[0021]优选地,所述MCU芯片包括闪存信息区,所述闪存信息区包括选项字节;所述闪存用户区具有读保护级别,所述若干分区分别具有对应的读保护状态;所述的方法还包括:
[0022]依据所述选项字节确定所述闪存用户区的读保护级别和所述若干分区的读保护状态。
[0023]优选地,所述MCU芯片设计有私有设备,所述若干分区分别具有对应的分区使能信号,所述私有设备用于在接收到所述分区使能信号时正常工作。
[0024]优选地,所述私有设备包括静态随机存储器SRAM。
[0025]本发明实施例还公开了一种基于若干分区的MCU芯片信息保护装置,所述MCU芯片包括指令总线、数据总线、闪存控制器和闪存用户区;所述闪存控制器用于将闪存用户区划分为若干分区,所述若干分区分别具有对应的分区工状态,所述的装置包括:
[0026]初次确定模块,用于确定所述指令总线在访问所述闪存用户区时,所访问的在先分区;
[0027]第一进入模块,用于进入所述在先分区对应的在先分区工作状态;
[0028]再次确定模块,用于再次确定所述指令总线在访问所述闪存用户区时,所访问的当前分区;
[0029]第二进入模块,用于若所述在先分区与所述当前分区不一致,则进入过渡状态;
[0030]判断模块,用于判断处于所述过渡状态下的时间是否达到预设的等待时间;若是,则第三进入模块;
[0031]第三进入模块,用于进入所述当前分区对应的分区工作状态。
[0032]优选地,
[0033]在所述在先分区工作状态下,允许所述指令总线访问所述闪存用户区,允许所述数据总线访问所述在先分区,但禁止所述数据总线访问其他分区;
[0034]在所述过渡状态下,暂停所述指令总线访问所述闪存用户区,允许所述数据总线访问所述在先分区,但禁止所述数据总线访问其他分区;
[0035]在所述当前分区工作状态下,允许所述指令总线访问所述闪存用户区,禁止所述数据总线访问其他分区,但允许所述数据总线访问所述当前分区。
[0036]优选地,所述装置还包括:
[0037]第四进入模块,用于在所述MCU芯片复位后,进入初始状态;在所述初始状态下,允许所述指令总线访问所述闪存用户区,禁止所述数据总线访问所述若干分区。
[0038]优选地,所述MCU芯片包括CPU,所述CPU为哈佛结构;所述预设的等待时间与CPU的特性相关;若所述CPU为ARM Cortex-M3,则所述预设的等待时间为20个CPU时钟周期。
[0039]优选地,所述MCU芯片包括闪存信息区,所述闪存信息区包括选项字节;所述闪存用户区具有读保护级别,所述若干分区分别具有对应的读保护状态;所述的装置还包括:
[0040]状态确定模块,用于依据所述选项字节确定所述闪存用户区的读保护级别和所述若干分区的读保护状态。
[0041]优选地,所述MCU芯片设计有私有设备,所述若干分区分别具有对应的分区使能信号,所述私有设备用于在接收到所述分区使能信号时正常工作。
[0042]与现有技术相比,本发明实施例包括以下优点:
[0043]在本发明实施例中,在MCU芯片中的闪存控制器将闪存用户区划分为若干分区,当指令总线访问闪存用户区时,闪存用户区可以正常接受指令总线的访问,但是数据总线访问分区将受到限制。本发明实施例在指令总线访问闪存用户区时,只允许数据总线访问指令总线所访问的分区,可以保护在闪存用户区中的程序不被合作开发程序的其他公司窃取。
[0044]在本发明实施例中,还对MCU芯片设置有读保护级别和读保护状态,根据闪存信息区中的选项字节,确定该MCU芯片对闪存的读保护级别和读保护状态,限制对于闪存用户区的操作。在多家公司合作开发MCU芯片中的程序时,当某个公司开发完毕后,可以提高闪存用户区的读保护级别或设
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1