3.4.2.1:安全扩展功能
由于新唐芯片有一些特殊的功能,例如M481xG具有KPROM、XOM、安全秘钥等功能,PowerWriter软件将其放在插件功能下,见如下:
对应官方工具
1:KPROM设置
1.1:KPROM状态读取
连接芯片,读取选项字节,可以获取KPROM的状态。
1.2:KPROM解锁密码设置
当安全密钥保护使能后,LDROM和APROM处于写保护状态,如果想对其进行写操作,必须输入正确的 KPROM解锁密码,否则报错。
当选项字节CONFIG写保护开启并且要写入选项字节时,KPROM解锁密码输入错误则会触发全片擦除。
1.3:更新KPROM密码
当要更新KPROM时,必须同时勾选更新KPROM和安全密钥使能,KPROM是与选项字节一起写入,点击写入选项字节时会操作KPROM;
2:XOM设置
2.1:XOM 状态读取
选择对应的芯片型号,连接芯片,读取选项字节,可以获取XOM的激活状态:
2.2:XOM 配置写入
填写要读保护的地址,必须同时勾选使能区域和XOM区域启用,最后点击写入选项字节
3:安全秘钥
3.1:安全密钥的导入
在Secure Key中导入安全秘钥,操作方法可以参考:Nuvoton NuMicro ICP Programmer 用户指南.pdf。
3.2:安全密钥的配置和写入
勾选BootLoader启动和安全启动加密,然后点击写入选项字节,可以添加固件后点击全自动编程;
4:安全区域设置
4.1:安全区域配置方法
这里以M2351为例,打开扩展设置,选择启动非安全区域,写入非安全区域地址,并在选项字节中开启安全区域设置:
4.2:安全区域解锁方法
锁定设置设定后,芯片将连接不了,需要点击恢复默认,写入选项字节
5:MTP设置
5.1:MTP 注意事项
MTP设置属于NUC505的特定功能,烧录器连接芯片时,芯片的PB.3需要拉低使芯片从ICP模式启动;烧录完成后PB.4,PB.3,PA.10,PA.9不能拉低,程序才能正常启动。
5.2:MTP 状态读取
连接芯片,读取选项字节,可以获取MTP的激活状态:
5.3:MTP 配置方法
在Nuvoton扩展设置中的MTP Setting填入正确的数值,需要更新MTP时,需要同时勾选写入MTP 和MTP编程;
MTP 秘钥: 0x53215751 -0x32432356 //这个随机填写,非全0和非全ff
const uint32_t signature __attribute__((at(0x00000d00))) = 0x34333231;//程序固件需在偏移地址设定签名,自定义:
当MTP被编程时,代码验证将自动激活。Flash上的代码(或要写入SPIFlash的文件)必须通过代码验证流。NUC505将搜索偏移地址的0~16KBSPIFlash(或文件要写入SPIFlash),以检查偏移地址上是否有正确的签名(与NUC505MTP中的数据进行比较,参见图2-1)。如果没有签名,则启动或编程操作将失败。这种保护机制称为芯片外内存保护,所以要编程加密时,需要添加不小于16K的固件,不编程加密时则不用:
使用编程加密时,添加明文固件:
不是用编程加密时,可以先读取加密后的固件另存为,再添加:
点击写入选项字节,或者全自动烧录,或离线加载烧录。
6:SPI Flash 加密设置
6.1:SPI Flash 加密设置方法
选择对应芯片,例如M485xI,打开扩展设置选择SPI Setting,秘钥0和和秘钥1填写非0数值,确定后烧录时芯片会自动加密烧录。