一种嵌入式系统的制作方法

文档序号:10390532阅读:318来源:国知局
一种嵌入式系统的制作方法
【技术领域】
[0001 ]本实用新型实施例涉及计算机技术领域,尤其涉及一种嵌入式系统。
【背景技术】
[0002]微控制器(Micro Control Unit,MCU)应用非常广泛,小到儿童玩具,大到工程机械均有可能用到。MCU芯片在应用时,用户需要花费大量的人力物力进行软件开发,最终的程序数据存入闪存中,而这些程序数据均属于用户的知识产权,应避免被其他用户盗取。非法侵入者可能采用暴力拆解芯片,强行读出闪存中数据。
[0003]M⑶芯片通常直接将程序数据存储到闪存芯片中。目前,为了保证程序数据的安全性,现有技术通常采用在MCU芯片在生产制作中,将闪存芯片嵌入到M⑶芯片中,或者采用工业应用中相对较为成熟的MCP(Multiple Chip Package,多芯片封装)技术将主芯片与闪存芯片制造在同一个封装内。
[0004]采用存芯片嵌入到MCU芯片的技术方案,因为芯片分为很多层,非法入侵者需要将嵌入到芯片中的闪存芯片位置分析出,然后分析闪存芯片中每个存储单元所存储的数据,并抽取出来,虽然上述技术方案需要通过硬件和版图分析才能得到闪存数据,增加了非法入侵者拆解芯片的技术难度,但仍可抛开芯片,将闪存芯片中的数据全部读出,不能从根本上保证闪存芯片中的程序数据的安全性。
[0005 ]对于采用MCP方案的MCU来说,非法侵入者可以通过拆解封装,得到闪存芯片,将闪存芯片中的数据全部读出,同样存在着很大的数据泄露风险。
【实用新型内容】
[0006]本实用新型提供一种嵌入式系统,以解决程序数据存储的安全问题。
[0007]本实用新型实施例提供了一种嵌入式系统,包括闪存控制器、中央处理器CPU和闪存芯片,所述闪存控制器与所述(PU和所述闪存芯片分别连接;
[0008]其中,所述闪存控制器包括:
[0009]闪存系统总线接口;
[0010]主控单元,与所述闪存系统总线接口连接;
[0011]闪存控制单元,与所述闪存系统总线接口、所述主控单元和所述闪存芯片分别连接;
[0012]所述闪存系统总线接口,用于将系统总线发出的数据写入指令和对应的地址发送至所述主控单元,以及将与所述数据写入指令对应的程序数据发送至所述闪存控制单元;还用于将系统总线发出的数据读取指令和对应的地址发送至所述主控单元;
[0013]所述主控单元,用于将系统总线发出的数据写入指令和对应的地址发送至所述闪存控制单元;还用于将系统总线发出的数据读取指令和对应的地址发送至所述闪存控制单元;
[0014]所述闪存控制单元,用于对与所述数据写入指令对应的程序数据进行加密,得到程序数据密文,并根据接收到的数据写入指令和对应的地址,将所述程序数据密文写入所述闪存芯片;还用于根据接收到的数据读取指令和对应的地址,读取所述闪存芯片中所存储的程序数据密文,并解密,得到对应的程序数据,供所述CPU执行;
[0015]所述闪存芯片,用于储存所述程序数据密文。
[0016]进一步地,所述闪存控制单元包括:
[0017]密钥寄存器,用于存储加密密钥和解密密钥;
[0018]指令翻译子单元,与所述主控单元连接,用于将通过所述主控单元接收到的系统总线发出的数据写入指令或数据读取指令翻译成所述闪存芯片可识别的数据写入指令或数据读取指令;
[0019]地址翻译子单元,与所述主控单元连接,用于将通过所述主控单元接收到的与系统总线发出的数据写入指令对应的地址翻译成第一物理地址,以及将通过所述主控单元接收到的与系统总线发出的数据读取指令对应的地址翻译成第二物理地址;
[0020]数据加密子单元,与所述密钥寄存器和所述闪存系统总线接口分别连接,用于接收所述闪存系统总线接口发送的所述程序数据,并获取所述密钥寄存器所存储的加密密钥,利用所述加密密钥对所接收到的所述程序数据进行加密,得到程序数据密文;
[0021]接口转换子单元,与所述指令翻译子单元、所述地址翻译子单元、所述数据加密子单元和所述闪存芯片分别连接,用于对所述闪存芯片可识别的数据写入指令、所述第一物理地址和所述程序数据密文进行打包,发送至所述闪存芯片,以将所述程序数据密文写入所述闪存芯片中;还用于对所述闪存芯片可识别的数据读取指令和所述第二物理地址进行打包,发送至所述闪存芯片,以获取所述闪存芯片所储存的程序数据密文;
[0022]数据解密子单元,与所述接口转换子单元和所述密钥寄存器分别连接,用于利用所述密钥寄存器所存储的解密密钥,对通过所述接口转换子单元所获取的程序数据密文进行解密,得到对应的程序数据,供CPU执行。
[0023]进一步地,所述加密密钥包括:地址加密密钥和数据加密密钥;
[0024]所述数据加密子单元具体用于,接收所述闪存系统总线接口发送的所述程序数据,并获取所述密钥寄存器所存储的数据加密密钥,利用所述数据加密密钥对所接收到的所述程序数据进行加密,得到程序数据密文;
[0025]所述闪存控制单元还包括:
[0026]地址加密子单元,与所述地址翻译子单元、所述密钥寄存器和所述接口转换子单元分别连接,用于利用所述密钥寄存器所存储的地址加密密钥,对所述地址翻译子单元翻译的第一物理地址进行加密,得到闪存芯片的第一加密物理地址,并发送至所述接口转换子单元;还用于利用所述密钥寄存器所存储的地址加密密钥,对所述地址翻译子单元翻译的第二物理地址进行加密,得到闪存芯片的第二加密物理地址,并发送至所述接口转换子单元;
[0027]相应的,所述接口转换子单元,具体用于对所述闪存芯片可识别的数据写入指令、所述第一加密物理地址和所述程序数据密文进行打包,发送至所述闪存芯片,以将所述程序数据密文写入所述闪存芯片中;还用于对所述闪存芯片可识别的数据读取指令和所述第二加密物理地址进行打包,发送至所述闪存芯片,以获取所述闪存芯片所储存的程序数据密文。
[0028]进一步地,所述密钥寄存器与所述闪存芯片连接,用于在所述系统上电后自动从所述闪存芯片中读取加密密钥和解密密钥,并存储。
[0029]进一步地,所述加密密钥和所述解密密钥为所述闪存芯片的序列号。
[0030]进一步地,所述系统还包括:静态随机存储器SRAM;
[0031 ] 所述闪存控制器还包括:SRAM控制单元,与所述数据解密子单元和所述SRAM分别连接,用于与所述数据解密子单元交互解密后的程序数据,并存入所述SRAM。
[0032]进一步地,在所述闪存芯片采用串行外设接口SPI时,所述接口转换子单元具体用于,对所述闪存芯片可识别的数据写入指令、所述第一物理地址和所述程序数据密文进行打包,打包为第一串行数据流,并发送至所述闪存芯片,以将所述程序数据密文写入所述闪存芯片中;还具体用于对所述闪存芯片可识别的数据读取指令和所述第二物理地址进行打包,打包为第二串行数据流,并发送至所述闪存芯片,以获取所述闪存芯片所储存的程序数据密文。
[0033]本实用新型所提供的技术方案,通过闪存控制器的闪存控制单元对程序数据进行加密,以程序数据密文的形式存储到闪存芯片中,即使非法侵入者通过物理拆解芯片,读出闪存芯片中数据,也无法还原成原始明文程序数据,保护程序数据不被盗取,从根本上实现程序数据的安全存储。
【附图说明】
[0034]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本实用新型的其它特征、目的和优点将会变得更明显:
[0035]图1为本实用新型实施例一所提供的一种嵌入式系统的结构示意图;
[0036]图2为本实用新型实施例二所提供的一种嵌入式系统的结构示意图;
[0037]图3为本实用新型实施例三所提供的一种嵌入式系统的结构示意图;
[0038]图4为本实用新型实施例四所提供的一种嵌入式系统的结构示意图;
[0039]图5为本实用新型实施例提供的一种嵌入式系统的读写方法的流程图。
【具体实施方式】
[0040]下面结合附图和实施例对本实用新型作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本实用新型,而非对本实用新型的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本实用新型相关的部分而非全部结构。
[0041 ] 实施
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1