一种智能编程器及编程方法技术

技术编号:2826259 阅读:205 留言:0更新日期:2012-04-11 18:40
提高电子产品的数据安全性,有效避免被破解的智能编程器,技术方案是:包括设置模块、表生成模块、编程模块、程序存储模块和编程接口,其中设置模块和表生成模块分别与编程模块相连;设置模块用于设置所述表生成模块生成的随机数表的表首地址和表长度,表首地址为所述随机数表向目标芯片中烧写的表首位置;表首地址和表长度的数值分别为所述程序存储模块中存储的被烧写程序中设置的常量表表首地址和表长度的数值;表生成模块,用于生成所述设置模块中设置的表长度的随机数表;编程模块,用于通过编程接口将表生成模块生成的随机数表及程序存储模块中存储的被烧写程序以嵌套的方式烧写到目标芯片中。本发明专利技术还提供一种编程器的变成方法。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,特别涉及一种智能编程器及编程方法
技术介绍
所谓固件程序(Firmware)就是写入EPROM或EEPROM中的程序,与普通软件不同,它是固化在集成电路内部的程序代码,负责控制和协调集成电路的功能,担任着一个系统最基础、最底层工作的软件。一般电子产品生产商或开发商都会自己开发电子产品的固件程序,利用编程器将其烧写至电子产品内电路板上的集成芯片中。编程器是一种用来给目标芯片烧写固件程序的硬件工具,在编程器上设置目标芯片的编程座,当把目标芯片装设在该编程座上后,便可以利用编程器将编程固件程序烧写在目标芯片中了。将固件程序或一些其它特征信息(比如开发商信息、产品型号、生产日期、版本号等)烧写在电子产品中,是指利用编程器将其烧写在电子产品内电路板上的集成电路内,利用编程器对目标芯片进行编程的方法对芯片进行编程,通常分为联机编程(即在线编程)和脱机编程(即离线编程)两种方法,联机编程方法就是使用上层软件在计算机端控制编程器,对芯片进行编程,这是最常用的方法,大家都比较熟悉;而脱机编程方法就是不使用计算机,直接使用编程器对芯片进行编程的方法,具体的说是先将要编程的本文档来自技高网...

【技术保护点】
一种智能编程器,其特征是包括设置模块、表生成模块、编程模块、程序存储模块和编程接口,所述设置模块和表生成模块分别与编程模块相连,同时设置模块还与表生成模块相连;其中,所述设置模块用于设置所述表生成模块生成的随机数表的表首地址和表长度,所述表首地址为所述随机数表向目标芯片中烧写的表首位置;所述表首地址和表长度的数值分别为所述程序存储模块中存储的被烧写程序中设置的常量表表首地址和表长度的数值;所述表生成模块,用于生成所述设置模块中设置的表长度的随机数表;所述编程模块,用于通过所述编程接口将所述表生成模块生成的随机数表及所述程序存储模块中存储的被烧写程序以嵌套的方式烧写到目标芯片中,其中写入目标芯片...

【技术特征摘要】
1、一种智能编程器,其特征是包括设置模块、表生成模块、编程模块、程序存储模块和编程接口,所述设置模块和表生成模块分别与编程模块相连,同时设置模块还与表生成模块相连;其中,所述设置模块用于设置所述表生成模块生成的随机数表的表首地址和表长度,所述表首地址为所述随机数表向目标芯片中烧写的表首位置;所述表首地址和表长度的数值分别为所述程序存储模块中存储的被烧写程序中设置的常量表表首地址和表长度的数值;所述表生成模块,用于生成所述设置模块中设置的表长度的随机数表;所述编程模块,用于通过所述编程接口将所述表生成模块生成的随机数表及所述程序存储模块中存储的被烧写程序以嵌套的方式烧写到目标芯片中,其中写入目标芯片中的随机数表的表首位置与所述设置模块中设置的表首地址数值相同,替换被烧写程序中设置的所述常量表。2、根据权利要求1所述的智能编程器,其特征是所述表首地址和表长度数值的组合分别与一个目标芯片类型相对应,所述设置模块设置的表首地址和表长度的数值组合为一种或多种。3、根据权利要求1或2所述的智能编程器,其特征是所述的设置模块具体为存储模块,用于存储所述程序存储模块中存储的被烧写程序中设置的常量表的表首地址和表长度,作为所述表生成模块生成的随机数表的表首地址和表长度。4、根据权利要求1或2所述的智能编程器,其特征是所述设置模块具体为获取模块,用于根据预先定义的特征值,在所述程序存储模块存储的被烧写程序中查找并获取表首地址和表长度,以此作为所述表生成模块生成的随机数表的表首地址和表长度。5、根据权利要求1所述的智能编程器,其特征是所述表生成模块为随机数生成芯片或振荡电路。6、根据权利要求1所述的智能编程器,其特征是所述表生成模块为内置伪随机数生成算法的微控制芯片。7、根据权利要求1所述的智能编程器,其特征是所述表生成模块生成的随机数表具体为全排列随机数表。8、根据权利要求1所述的智能编程器,其特征是所述编程模块具体包括:替换单元,用于将生成模块生成的随机数表替换程序存储模块存储的被烧写程序中的所述常量表;烧写单元,用于将替换随机数表的被烧写程序按块烧写到目标芯片中。9、根据权利要求1所述的智能编程器,其特征是所述编程模块具体包括:比较单元,用于在烧写数据前以及每烧写一块数据后,比较目标芯片的当前烧写首地址数值是否等于设置模块中设置的表首地址数值,等于则启动嵌入烧写单元,否则比较目标芯片的当前烧写地址数值加上块长度数值是否大于所述设置模块中设置的表首地址,否则启动程序烧写单元,大于则启动填充烧写单元;程序烧写单元,用于向目标芯片中烧写一块所述被烧写程序后,跳转执行所述比较单元;嵌入烧写单元,用于向目标芯片中按块烧写所述随机数表,并在所述随机数表烧写完后,将剩余被烧写程序越过所述表长度后继续按块烧写到目标芯片中;填充烧写单元,用于在下一块烧写程序的首地址与设置模块表首地址之间的被烧写程序后面填充所述随机数表满足一个块的长度后烧写到目标芯片中,再按块将剩余的所述随机数表烧写完成,然后将剩余被烧写程序越过所述表长度后继续按块烧写到目标芯片中。10、根据权利要求1所述的智能编程器,其特征是所述的编程模块为控制芯片...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:北京飞天诚信科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1