[发明专利]采用快闪存储器的微处理器的程序代码保护方法有效
| 申请号: | 201410534831.7 | 申请日: | 2014-10-11 |
| 公开(公告)号: | CN104268448B | 公开(公告)日: | 2017-06-27 |
| 发明(设计)人: | 张钦 | 申请(专利权)人: | 中颖电子股份有限公司 |
| 主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/62;G06F21/78 |
| 代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 徐洁晶 |
| 地址: | 200335 上*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 采用 闪存 微处理器 程序代码 保护 方法 | ||
技术领域
本发明涉及微处理器技术领域,具体来说,本发明涉及一种采用快闪存储器的微处理器的程序代码保护方法。
背景技术
相比ROM(只读存储器)和RAM(随机存储器)这两种常见的存储器类型,Flash(快闪存储器,简称闪存)具有ROM存储器掉电后不丢失数据的优点,同时又具备可擦除重写的功能可以用于更新程序代码。因此,越来越多的MCU(微处理器)厂商采用Flash作为其MCU芯片中的程序存储器。
很多电子产品在出厂之后到消费者手中有可能会发现一些问题,有些问题是其内部MCU的程序代码bug(漏洞)导致,而有的可能是MCU与外部器件的控制不完善。总之,这些问题往往很多都是可以通过修改和升级固件程序的方式来解决的。这时采用Flash储存器的MCU(下文简称Flash MCU)的优势就体现出来了,厂商只需要提供固件更新工具,让经销商甚至消费者自己对产品的MCU固件进行升级即可,从而避免了产品的返修甚至退货等一系列耗费时间、人力、财力的行为。
由于生活中各种应用的实际场合及环境中存在各种电磁干扰,导致MCU在工作过程中程序执行出现异常是不可避免的,典型现象是MCU的代码执行顺序会发生错乱,比如程序执行时跳转到非预定的指令分支处。这对采用Flash MCU并提供固件升级功能的产品会带来一些风险和隐患。由于Flash存储器本身具有可擦除和写入的特性,而产品为了提供固件升级的功能必然在出厂的固件当中也有对Flash进行擦除重写的程序代码,所以当出现干扰导致的程序代码指令执行发生错乱时,有可能因为指令跳转到固件升级相关的指令分支处,执行了对Flash的擦除和写入操作,导致Flash当中存储的程序代码自身被破坏,进而使产品无法正常使用的严重问题。虽然所有产品通常都会在硬件和软件上或多或少做一些抗干扰的保护和加强,但并不能完全保证不被干扰,所以和采用ROM存储器的MCU相比,Flash MCU在这方面出问题的概率是较高的。
此外,由于采用Flash MCU的产品通常都提供固件升级功能,也对第三方的代码窃取行为提供了一定的途径。例如当某厂商A采用一款Flash MCU开发了一种新的产品,而该产品的核心功能都在于其内部MCU中的控制软件;当其他厂商B只要能够将其中关键代码复制出来,即可通过采购同样的Flash MCU制造出功能与厂商A几乎完全一样的产品。传统的方式下,要读取MCU中的程序代码是不可能的,因为厂商自己并不会提供这样的途径和方法。但是对于Flash MCU,因为有了固件升级功能,厂商B完全可以通过该功能将一小段自己的程序烧录到目标产品的MCU当中,然后通过执行这段程序代码将MCU中的大部分原始代码通过一定方式(比如I/O口输出指令序列)窃取出来。
因此,Flash MCU的厂商迫切地需要在代码存储保护方面做一些保护措施方面的设计。
发明内容
本发明所要解决的一个技术问题是提供一种采用快闪存储器的微处理器的程序代码保护方法,能够避免Flash MCU因为外部干扰而导致程序破坏或者资料丢失的问题。
本发明所要解决的另一个技术问题是提供一种采用快闪存储器的微处理器的程序代码保护方法,能够有效保护原始代码不被恶意读出窃取。
为解决上述技术问题,本发明提供一种采用快闪存储器的微处理器的程序代码保护方法,所述微处理器内包括一密钥校验单元;所述程序代码保护方法系针对厂商利用所述微处理器开发产品而烧录程序代码的阶段下对所述程序代码进行保护,其包括步骤:
A.烧录开始时,通过特定的烧写工具给所述微处理器上电,使所述微处理器进入Mode0模式;
B.对整个所述快闪存储器的参数区和资料区进行擦除操作;
C.对所述快闪存储器的参数区写入特定参数,将所述快闪存储器的资料区划分为P1、P2和P3共三个区;
D.分别对所述P1区和所述P2区进行资料烧录,其中所述P1区烧录应用程序代码,所述P2区烧录底层驱动和固件升级控制代码,所述P3区作为缓冲区,不烧录内容,保持为空;
E.对所述快闪存储器的参数区写入特定参数,将所述P1区和所述P2区设定为Mode1模式下只读,将所述P3区设定为Mode1模式下可读、可写和可擦除;
F.对所述快闪存储器的参数区写入特定参数,开启所述密钥校验单元,并对所述P1区设定校验用密钥以及校验机制。
可选地,所述密钥校验单元包括一个控制模块、一组待校验密钥寄存器以及一组临时权限控制寄存器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中颖电子股份有限公司,未经中颖电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410534831.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种法兰盘钻铣专用机床
- 下一篇:用于套装在薄壁回转体内表面的涨紧装置





