芯片在第一次烧写代码后使用特殊的方法对这个硬件授权(比如串口发送指令或者引脚的信号) 授权调用授权函数(encryptionEmpower) 在代码运行的时候调用encryptionCancelEmpower去验证次硬件是否授权 如若未经过授权认证则上下电或者复位次数到达上限后销毁代码 原理:授权的方法是将CPUID进行加密然后保存到flash的某个地址(可由编译器决定或者自己决定位置加密后的CPUID长度是12个字节) 在代码启动时会验证Flash是否保存有加密后的CPUID,如果是未授权的硬件则会因为CPUID的不同导致代码在一定的期限内被销毁 如果涉及到在线更新代码的问题可以通过宏定义来