一种mcu芯片的信息保护方法和装置的制造方法

文档序号:8319087阅读:424来源:国知局
一种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]在所述MCU芯片复位后,进入初始状态;在所述初始状态下,允许所述指令总线访问所述闪存用户区,禁止所述数据总线访问所述第一分区和第二分区。
[0015]优选地,所述MCU芯片包括CPU,所述CPU为哈佛结构;所述预设的等待时间与CPU的特性相关;若所述CPU为ARM Cortex-M3,则所述预设的等待时间为20个CPU时钟周期。
[0016]优选地,所述MCU芯片包括闪存信息区,所述闪存信息区包括选项字节;所述的方法还包括:
[0017]依据所述选项字节确定所述闪存用户区的读保护状态;
[0018]若为零级读保护状态,则允许对所述闪存用户区进行读取、写入和擦除;
[0019]若为一级读保护状态,则允许对所述第一分区进行读取、写入和擦除,仅在所述闪存用户区启动时允许对所述第二分区进行读取、写入和擦除;
[0020]若为二级读保护状态,则仅在所述闪存用户区启动时允许对所述第一分区和第二分区进行读取、写入和擦除。
[0021]优选地,
[0022]在所述零级读保护状态下,所述选项字节允许修改;
[0023]在所述一级读保护状态下,所述选项字节允许修改,若基于所述选项字节从所述一级读保护状态修改为零级读保护状态,则所述闪存用户区中的全部信息将被擦除;
[0024]在所述二级读保护状态下,所述选项字节禁止修改。
[0025]优选地,所述MCU芯片设计有私有设备,仅在输出有第一分区使能信号时正常工作的私有设备为第一设备,以及,仅在输出有第二分区使能信号时正常工作的私有设备为第二设备;所述方法还包括:
[0026]若处于所述第一分区工作状态,或者,第一分区过渡状态,则输出第一分区使能信号;若处于所述第二分区工作状态,或者,第二分区过渡状态,则输出第二分区使能信号。
[0027]优选地,所述设备包括静态随机存储器SRAM。
[0028]优选地,所述第一分区位于闪存用户区的前半段地址空间,所述第二分区位于闪存用户区的后半段地址空间。
[0029]本发明实施例还公开了一种MCU芯片的信息保护装置,所述MCU芯片包括指令总线、数据总线、闪存控制器和闪存用户区;所述闪存控制器用于将闪存用户区划分为第一分区和第二分区;所述的装置包括:
[0030]第一判断单元,用于当所述指令总线访问所述闪存用户区时,判断所述指令总线是否访问所述第一分区;若是,则调用第一进入单元;
[0031]第一进入单元,用于进入第一分区工作状态;在所述第一分区工作状态下,允许所述指令总线访问所述闪存用户区,允许所述数据总线访问所述第一分区,但禁止所述数据总线访问所述第二分区;
[0032]第二进入单元,用于当处于所述第一分区工作状态下,所述指令总线访问所述第二分区,则进入过渡状态;在所述过渡状态下,暂停所述指令总线访问所述闪存用户区,允许所述数据总线访问所述第一分区,但禁止所述数据总线访问所述第二分区;
[0033]第二判断单元,用于判断处于所述过渡状态下的时间是否达到预设的等待时间;若是,则调用第三进入单元;
[0034]第三进入单元,用于进入第二分区工作状态;在所述第二分区工作状态下,允许所述指令总线访问所述闪存用户区,禁止所述数据总线访问所述第一分区,但允许所述数据总线访问所述第二分区。
[0035]优选地,所述装置还包括:
[0036]第四进入单元,用于在所述MCU芯片复位后,进入初始状态;在所述初始状态下,允许所述指令总线访问所述闪存用户区,禁止所述数据总线访问所述第一分区和第二分区。
[0037]优选地,所述MCU芯片包括闪存信息区,所述闪存信息区包括选项字节;所述的装置还包括:
[0038]确定单元,用于依据所述选项字节确定所述闪存用户区的读保护状态;
[0039]第一保护单元,用于在为零级读保护状态时,允许对所述闪存用户区进行读取、写入和擦除;
[0040]第二保护单元,用于在为一级读保护状态时,允许对所述第一分区进行读取、写入和擦除,仅在所述闪存用户区启动时允许对所述第二分区进行读取、写入和擦除;
[0041]第三保护单元,用于在为二级读保护状态时,仅在所述闪存用户区启动时允许对所述第一分区和第二分区进行读取、写入和擦除。
[0042]优选地,
[0043]在所述零级读保护状态下,所述选项字节允许修改;
[0044]在所述一级读保护状态下,所述选项字节允许修改,若基于所述选项字节从所述一级读保护状态修改为零级读保护状态,则所述闪存用户区中的全部信息将被擦除;
[0045]在所述二级读保护状态下,所述选项字节禁止修改。
[0046]优选地,所述MCU芯片设计有私有设备,仅在输出有第一分区使能信号有效时正常工作的私有设备为第一设备,以及,仅在输出有第二分区使能信号有效时正常工作的私有设备为第二设备;所述装置还包括:
[0047]第一输出单元,用于在处于所述第一分区工作状态,或者,第一分区过渡状态时,输出第一分区使能信号;
[0048]第二输出单元,用于在处于所述第二分区工作状态,或者,第二分区过渡状态时,输出第二分区使能信号。
[0049]与现有技术相比,本发明实施例包括以下优点:
[0050]在本发明实施例中,在MCU芯片中的闪存控制器将闪存用户区划分为第一分区和第二分区,当指令总线访问闪存用户区时,闪存用户区可以正常接受指令总线的访问,但是数据总线访问分区将受到限制。例如,当指令总线访问第一分区时,数据总线只能访问第一分区,不能访问第二分区。如果指令总线从访问第一分区转为访问第二分区,则暂停指令总线访问闪存用户区,并且在达到预设的等待时间时,指令总线又可以访问闪存用户区,此时数据总线不能访问第一分区,只能访问第二分区。本发明实施例在指令总线访问闪存用户区时,只允许数据总线访问指令总线所访问的分区,可以保护在闪存用户区中的程序不被合作开发程序的其他公司窃取。
[0051]在本发明实施例中,还对MCU芯片设置有读保护级别,根据闪存信息区中的选项字节,确定该MCU芯片对闪存的读保护级别,限制对于闪存用户区的操作。在两家公司合作开发MCU芯片中的程序时,当某个公司开发完毕后,可以提高闪存用户区的读保护级别,以限制其他公司读取器烧录到闪存用户区的程序,从而避免合作开发程序的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1