AG32 芯片保护与加密
代码安全有两种方式:
一种是 Lock flash,一个是代码加密。
Lock flash:
Lock flash 是在烧录代码后,锁定 flash,防止外部对 flash 中内容的读取。
如果有 unlock 的动作,会触发清空的动作。
Lock 动作是在 downloader 时执行的。
该动作的使能,需要在 platformio.ini 里增加配置:lock_flash = true
如果不使用 VSCODE 中的 batch 图标而是使用自定义 batch 命令(多个 bin 的情况),则是在命令后增加 --lock 参数来使能。
代码加密:
代码加密是更高级别的加密。
代码加密,会保证烧录到每颗芯片的内容,都是绑定自己的唯一 ID 的。
也就是说,同一个原始 bin,通过 downloader 工具烧录到不同芯片时,最终烧录的内容是不同的。(这就保证,即使**了某个芯片的 bin,再烧录到其他芯片也是不能工作的。)
加密的动作也是在 downloader 时执行的。
该动作的使能,需要在 platformio.ini 里设置 board_logic.encrypt = true
注:如果有远程 logic 升级功能的需求,则该加密方式不能使用。
两种加密方式是相互独立的,可以单独使用,也可以一起使用。
|
@dirtwillfly :俺也不知道,同事转的资料,觉着不错就分享了。
这是说的带FPGA的那个MCU吗?