轻松搞定Silicon Labs 8bit MCU 代码加密

2016-07-08 世强 紫云
微处理器,微控制器,C8051F,C8051F996 微处理器,微控制器,C8051F,C8051F996 微处理器,微控制器,C8051F,C8051F996 微处理器,微控制器,C8051F,C8051F996

为了防止未经授权访问或拷贝单片机的机内程序,大部分芯片都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机芯片内的程序。

 

芯片加密,很好的保护了芯片,防止芯片里面的程序被盗走,保护了程序设计者的专利权。SILICON LABS MCU 具有先进的代码加密技术,简单易用,可靠性高。下面就Silicon Labs MCU 加密问题,提供几个简单易用的窍门。


首先我们介绍Silicon Labs MCU是如何加密的。在芯片的datasheet中“FLASH存储器”章节中的“安全选项”里会有介绍。例如:C8051F350


安全选项

CIP-51提供了安全选项以保护FLASH存储器不会被软件意外修改,以及防止产权程序代码和常数被读取。程序存储器写允许(PSCTL寄存器中的PSWE)和程序存储器擦除允许(PSCTL寄存器中的PSEE)位保护FLASH存储器不会被软件意外修改。在用软件修改FLASH存储器的内容之前,PSWE必须被置为逻辑‘1’;在用软件擦除FLASH存储器之前,PSWE位和PSEE位都必须被置为逻辑‘1’。


此外,CIP-51还提供了可以防止通过C2接口读取产权程序代码和常数这一安全功能。 保存在 FLASH 用户空间的最后一个字节中的安全锁定字节保护 FLASH 存储器,使其不 能被非保护代码或通过 C2 接口读、写或擦除。FLASH 安全机制允许用户从 0 页(地址 0x0000 ~ 0x01FF)开始锁定 n 个 512 字节的 FLASH 页,其中 n 是安全锁定字节的反码。


注意:当任 何一个其他 FLASH 页被锁定时,包含 FLASH 安全锁定字节的页也被锁定,见下面的例子。



图1:FLASH程序存储器映象


简单的说,如果需要加密某些flash空间的代码,就对安全锁定字节写数据0,如果需要锁定整个flash空间,就对整个安全锁定字节全部写数据0。那么如何在代码中实现这个加密呢?如何在烧写芯片的时候,就对代码加密?来点实际的,见下面的例程:


方法一:直接修改HEX文件

最简单直接的方法,修改hex文件。如果我们了解hex文件的代码规则,就很简单实现这个加密,这种加密在代码烧录进去的时候,就实现了加密,不管这颗芯片是否被使用或被运行过,都已经加密。绝对保护你的代码。


首先介绍hex文件的代码规则

HEX由任意数量的十六进制记录组成。每个记录包含5个域,它们按 :llaaaatt[dd...]cc 的格式排列。其中每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数字。每一个域由至少两个十六进制编码数字组成,它们构成一个字节,就像以下描述的那样:




以上是介绍了HEX代码规则,知道了这个规则就很容易实现我们的代码加密。看看下面的实例:



 

这个例程说明,只需要在hex文件的结束行前面加入一行代码,这行代码在烧录的时候,就会把值写入安全选项字节,实现加密。下面再看一个C8051F350的例程:



仔细阅读会发现和F02x有点不一样,因为C8051F02x的安全选项字节是2个字节,而F350只有1个字节。所以具体要看芯片的不同而定义。文件夹中有一个HEX文件校验码计算工具可以试试。

 

方法二:在编程的时候添加代码实现 ASM

对于以上方法是比较容易,只要修改hex文件,但是如果不熟hex代码规则,或者不放心这么做,是不是可以在编程的时候添加代码,让编译器来实现这个加密的过程。答案是完全可以的。来看看下面的实例:

1、在keil51中新建工程,芯片选择C8051F350。添加好main函数。编译一下。

2、新建一个汇编文件,文件名后缀是“asm”。在这个文件中添加一下代码:


     


3、把这个文件添加到工程,并放在工程文件的最后面,这样生成代码的时候,可以编译在最后面,方便查看。

4、编译一下文件, 顺利通过,查看hex文件,会发现和之前手动在hex文件中添加是一样的。

5、这个例程可以查看文件夹中的“C8051F 代码加密例程 asm”。采用Keil uvision4编译器工程。


方法三:在编程的时候添加代码实现 C

在方法二中,是通过添加汇编文件实现的,那如果不想添加汇编文件如何实现呢?就看

在C语言文件中嵌入汇编代码来实现。

1、 在keil51中新建工程,芯片选择C8051F350。添加好main函数。编译一下。

2、 新建一个C文件,在这个文件中添加一下代码:



3、 把这个文件添加到工程,并放在工程文件的最后面,这样生成代码的时候,可以编译在最后面,方便查看。

4、编译一下文件, 会发现不能通过编译。注意:如果在c51程序中使用了汇编语言,注意在Keil编译器中需要激活Properties中的“Generate Assembler SRC File” 和“Assembler SRC File ”两个选项。注意这个是灰色的打勾,一定要重新打钩激活。


再查看工程窗口的文件图标发现:多了3个小红色方块。这就说明设置成功。重新编译文件,发现编译通过。

5、 查看hex文件,会发现和之前手动在hex文件中添加是一样的。

6、 这个例程可以查看文件夹中的“C8051F 代码加密例程 C”。采用Keil uvision4编译器工程。


方法四:在下载程序时加密

在使用下载器给芯片下载程序的时候,在下载界面的加密复选框勾选也可以实现代码加密,这里不做详细说明,可以查看所使用的下载器说明书。

 

结束:加密后的操作

1、只能擦除整片芯片;

2、读取芯片代码,数据全部是00;

3、不能对芯片再次烧录,除非先整片擦除。


看到这里您是否又有项目灵感需实现,点击下面开发软件帮你忙。

Silicon Labs Simplicity Studio平台开发工具
Silicon Labs 集成开发环境工具
Silicon Labs 配置向导2开发工具
Silicon Labs FLASH编程开发工具
Silicon Labs 8位MCU Keil PK51 开发工具
Silicon Labs ToolStick 开发工具
Silicon Labs μVision 调试驱动程序开发工具
Silicon Labs 生产编程器开发工具
Silicon Labs .HEX转化.SVF开发工具
Silicon Labs USB复位实用程序开发工具

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 4
微控制器 微处理器 工业电子 消费电子 C8051F996-GUR C8051F997-C-GU C8051F991-C-GM C8051F996-GM C8051F997-C-GM C8051F990-C-GMR C8051F996-GU C8051F996-C-GUR C8051F996-C-GM C8051F991-C-GMR C8051F990-GM C8051F990-C-GM C8051F996-C-GMR C8051F996-C-GU C8051F990-GMR C8051F997-GM C8051F991-GM C8051F997 C8051F99x C8051F997-C-GMR C8051F991 C8051F996-GMR C8051F990 C8051F996 C8051F997-C-GUR C8051F981-GMR C8051F980-C-GMR C8051F98x C8051F988 C8051F989 C8051F986 C8051F987 C8051F986-C-GM C8051F980-GMR C8051F980 C8051F985-GM C8051F981 C8051F983-GM C8051F982-GM C8051F987-GM C8051F981-C-GMR C8051F985 C8051F982 C8051F989-GM C8051F988-GM C8051F983 C8051F980-C-GM C8051F973-A-GM C8051F974-A-GM C8051F971-A-GM C8051F97x C8051F975 C8051F975-A-GM C8051F970-A-GMR C8051F970 C8051F973 C8051F972-A-GM C8051F974 C8051F971 C8051F972 C8051F966-A-GM C8051F960-A-GQ C8051F966-A-GQ C8051F965-B-GM C8051F968-B-GM C8051F966 C8051F967 C8051F964 C8051F961-B-GM C8051F965 C8051F96x C8051F968 C8051F969 C8051F960-B-GQR C8051F967-B-GM C8051F964-B-GM C8051F962 C8051F963 C8051F960 C8051F961 C8051F966-B-GM C8051F963-B-GM C8051F969-B-GM C8051F960-B-GM C8051F962-B-GM C8051F964-A-GM C8051F964-B-GQR C8051F930-G-GDI C8051F930-G-GQ C8051F930-G-GMR C8051F931 C8051F930-G-GM C8051F93x C8051F931-GM C8051F931-G-GMR C8051F930-G-GQR C8051F930-GQ C8051F930 C8051F920-GMR C8051F920-GQ C8051F920 C8051F920-G-GQR C8051F921 C8051F921-GM C8051F920-G-GQ C8051F920-GM C8051F921-G-GMR C8051F92x C8051F920-G-GMR C8051F911 C8051F911-GU C8051F912 C8051F912-GU C8051F912-D-GMR C8051F911-GM C8051F912-D-GUR C8051F91x C8051F912-D-GU C8051F911-D-GM C8051F901 C8051F901-GU C8051F902-GM C8051F902 C8051F901-D-GM C8051F901-GMR C8051F90x C8051F901-D-GMR C8051F902-GU C8051F902-D-GDI C8051F 代码加密 代码保护 SILICON LABS 管状电机

本网站所有内容禁止转载,否则追究法律责任!

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(4

  • 独角兽 Lv9. 科学家 2018-08-28
    不错
  • 窝在家里好舒服 Lv5. 技术专家 2018-07-24
    已收藏
  • 颜汐1207 Lv7. 资深专家 2017-12-01
    不错,收藏了
  • Tonyxing Lv8. 研究员 2017-11-21
没有更多评论了

相关推荐

楼宇自动化系统中的能量收集系统构建方法

能量收集的概念已经越来越深入人心,而由环境能源供电的笨重而又昂贵的系统已经不被人所看好,更多的是采用了能量收集方法。随着RF和微控制器MCU器件在性能与能耗方面取得的新进展,意味着构建一个采用能量收集型应用,现在变得更加容易。

2019-07-02 -  技术探讨 代理服务 技术支持 现货查询 批量订货

【技术】ARM Cortex-M 32 位微控制器EFM32 外设反射系统实现更低功耗

借助EFM32 MCU外设反射系统,外围设备能够产生其他外围设备可以接收并即刻反应的信号,而CPU 依然处于睡眠状态,从而达到降低系统功耗的目的。

2016-06-18 -  技术探讨 代理服务 技术支持 现货查询 批量订货

Silicon Labs(芯科科技) 8 bit 集成开发环境 (IDE)

描述- Silicon Labs(芯科科技) 集成开发环境 (IDE) 是一个完整独立的软件程序,其包含项目管理器、源代码编辑器、源代码级调试器和其他实用工具。第三方开发工具链的 IDE 接口,可为系统设计者提供完整的嵌入式软件开发环境。IDE 支持全部的 8 位微控制器 (MCU) 组合。

2016年11月18日  - SILICON LABS  - 开发环境(软件/固件)  - V5.18 代理服务 技术支持 现货查询 批量订货

浅谈电容式触摸感应按键技术及常见问题解决办法

以传导性物体(例如手指)触摸电容器可改变电容,此改变会被内置于微控制器内的电路所侦测。本文提供一种可侦测因触摸而改变的电容的方法。

2016-03-07 -  设计经验 代理服务 技术支持 现货查询 批量订货

【选型】Silicon Labs的8位微控制器EFM8BB5和EFM8BB21性能差异对比

为了方便客户了解EFM8BB5系列和EFM8BB21系列的区别,更好的进行选型,本文例举出了Silicon Labs的8位微控制器EFM8BB21、EFM8BB51和EFM8BB52三者之间的不同点,来进行性能差异对比。

2021-10-24 -  器件选型 代理服务 技术支持 现货查询 批量订货

雅特力携工业控制、电机控制、消费电子、智能家居及汽车电子等领域近百款产品与方案亮相ELEXCON 2022

雅特力作为32位微控制器的创新领导者,携工业控制、电机控制、消费电子、智能家居及汽车电子等五大领域近百款产品与方案亮相此次展会,全面展示了雅特力最新技术与成果,吸引了众多电子行业人士参观交流!

2022-11-10 -  行业资讯 代理服务 技术支持 现货查询 批量订货

8位单片机EFM8的烧录器有哪些?

8位单片机EFM8系列采用C2调试接口,常见的烧录器有:1,官方的EFM8 STK、USB Debug Adapter、ToolStick。2,第三方的U-EC2/6、WizPro200EFM(支持EFM8和EFM32)等。

2016-10-25 -  技术问答
2016年01月25日  - SILICON LABS  - 开发环境(软件/固件)  - V3.30 代理服务 技术支持 现货查询 批量订货

【产品】中微半导体首款RISC-V内核的32位微控制器ANT32RV56xx问世,可满足消费电子对高算力、低功耗的要求

近日,中微半导体宣布正式发布首款集成RISC-V内核的32位微控制器-ANT32RV56xx,轻松应对消费电子对高算力、低功耗的要求。ANT32RV56xx设计旨在以超强外设和丰富资源减少驱动电路的元器件数量,以更高效的设计提升系统控制效率。

2020-12-18 -  新产品 代理服务 技术支持 现货查询 批量订货

世界上最节能的微控制器EFM32之十大低功耗奥秘

Silicon Labs EFM32 32 位微控制器系列是世界上最为节能的微控制器,特别适用于低功耗和能源敏感型应用,包括能源、水表和燃气表、楼宇自动化、警报及安防和便携式医疗/健身器材。本文着重强调10个Silicon Labs32位MCU功耗低的因素。

2016-07-11 -  新产品 代理服务 技术支持 现货查询 批量订货

C8051F120和AT45DB系列的存储芯片写数据,编译器在单步执行的时候MCU可以读到数据,但是程序运行的时读不到数据,这是为什么?

分析流程:1、MCU通过SPI写数据到1区的SRAM时,有SCK的信号确认,保证数据正常写入SRAM;2、AT45DB系列SRAM到主存写入,是通过开始地址和指令来执行,带擦除的话,先还擦除页面后再写入数据;3、AT45DB系列主存到2区SRAM,也是是通过开始地址和指令来执行,此时如果步骤2写入主存指令还没有执行完成,那么此时写入指令是无效的;4、如果步骤3指令没有执行成功,此时读到数据也是不正确的。由流程可以分析出来:如果主存区忙碌的话,再去对主存区域进行操作,读出的数据无效,所以在写入主存区域,先判断是否忙碌,可读取寄存器地址为57H的状态寄存器,判断第7bit的“RDY/BUSY”位,或者延时一段时间在去操作主存区。

2016-10-25 -  技术问答 代理服务 技术支持 现货查询 批量订货

围观国外达人如何DIY有趣的超声波障碍探测器!

设计达人使用EFM32 GiantGecko DK3750开发板设计出了一款通过声音的响亮程度来判断障碍物距离的超声波障碍探测器,真是太会玩了!

2019-07-30 -  新应用 代理服务 技术支持 现货查询 批量订货

CP2105 单芯片USB转UART桥接器

描述- Silicon Labs(芯科科技) CP2105 单芯片USB转UART桥接器数据手册(中文)-CP2105技术资料,CP2105,CP2105-F01-GMR,CP2105-F01-GM,CP2105EK,silabs CP2105,CP2105数据手册,CP2105 datasheet,CP2105规格书,CP2105手册,CP2105技术资料,CP2105资料,CP2105方案

型号- CP2105,CP210X,CP2105-F01-GM,CP2105-F01-GMR,CP2105EK,CP2105-GM

SILICON LABS  - 数据手册 代理服务 技术支持 现货查询 批量订货
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:8位MCU

价格:¥12.8215

现货: 9,414

品牌:SILICON LABS

品类:8位MCU

价格:¥14.9588

现货: 7,500

品牌:SILICON LABS

品类:8位MCU

价格:¥16.4456

现货: 7,149

品牌:SILICON LABS

品类:8位MCU

价格:¥29.8248

现货: 2,757

品牌:SILICON LABS

品类:8位MCU

价格:¥22.9487

现货: 2,205

品牌:SILICON LABS

品类:8位MCU

价格:¥67.5466

现货: 2,059

品牌:SILICON LABS

品类:8位MCU

价格:¥11.0563

现货: 1,500

品牌:SILICON LABS

品类:8位MCU

价格:¥17.9315

现货: 1,500

品牌:SILICON LABS

品类:8位MCU

价格:¥6.5429

现货: 99

品牌:SILICON LABS

品类:8位MCU

价格:¥51.9373

现货: 96

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:RENESAS

品类:microcontroller

价格:¥2.8532

现货:188,410

品牌:Advanced Digital Chips

品类:MCU

价格:¥6.6000

现货:100,000

品牌:SGMICRO

品类:微处理器监控电路

价格:¥0.2400

现货:90,000

品牌:SGMICRO

品类:微处理器监控电路

价格:¥0.9400

现货:80,000

品牌:RENESAS

品类:microcontroller

价格:¥32.9564

现货:40,179

品牌:SGMICRO

品类:微处理器监控电路

价格:¥0.7900

现货:40,000

品牌:SGMICRO

品类:微处理器监控电路

价格:¥0.4019

现货:39,000

品牌:兆易创新

品类:IC

价格:¥4.8932

现货:27,000

品牌:国民技术

品类:微控制器

价格:¥18.7261

现货:25,138

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

网络分析仪/频谱仪/信号分析仪/无线综测仪/信号发生器维修

朗能泛亚提供是德(Keysight),罗德(R&S)等品牌的测试测量仪器维修服务,包括网络分析仪、无线通讯综测仪、信号发生器、频谱分析仪、信号分析仪、电源等仪器维修,支持一台仪器即可维修。

提交需求>

射频无源器件定制

可定制射频隔离器/环行器(10M-40GHz),双工器/三工器(30MHz/850MHz-20GHz),滤波器(DC-20GHz),功分器,同轴负载,同轴衰减器等射频器件;可定制频率覆盖DC~110GHz,功率最高20KW。

最小起订量: 1 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面