
三、利用id做软件加密
1,如果板子上有外部存储器,可以先编写一个程序,利用算法把id计算得到一些值存入外部存储器,然后再烧写真正的程序,真正的程序去校验外部存储器的数据是否合法即可
2,利用板子上按键组合,或是上电按住某些键,程序在这个时候利用算法把id计算得到一些值存入程序区(stm8为EE区),程序运行时去验证程序区数据是否正确
3,轩微编程器有软件加密的功能,编程器会读芯片id,根据算法直接改写缓冲区,达到软件加密的作用
4,读出的id通过一定算法,例如异或加上一个数,得到的数据存入flash(只运行一次,运行后标志位也存入flash),下次读到这个标志位,就不运行这个程序。
四、做软件加密时注意
1,不要在程序中直接出现id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0 STM8: 0x4865~0x4870
2, 利用校验和或是crc对程序区进行校验,防止改程序
安装ST Visual Programmer(STVP)并打开软件
配置连接方式和MUC型号
在工具栏单击Configure --->Configuer ST Visual Programmer,配置硬件连接方式和MCU型号
查看和确定MCU、Program Memory、Data Memory是否设置正确
打开Option Byte,具体设置如下所示
擦除保护成功,这样就可以对芯片再次烧录程序了
对代码保护方面都是存在于Option Byte
最好的修改方式是使用stvp下载,点option byte的各种保护选项。
stvp可以再st官网或者网上下载到
欢迎追问
以上就是关于STM8程序烧录时怎么加密全部的内容,包括:STM8程序烧录时怎么加密、如何给STM32芯片解锁、iar for stm8 芯片如何加密等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)