利用 MKE02Z64VLH4芯片,在MDK环境下,连接JILNK调试工具进行调试,如果程序代码设置 FSEC 为0xFF加密后,选择全片擦除 Erase Full Chip option,如下图所示。
会涌现如下的下载失落败的提示。刚开始以为是芯片非常,结果烧录了最基本的GPIO点灯程序也是一样的,创造和程序没有关系,该当和MDK的工程环境设置有关系。
反复考试测验之后,创造如果选择块擦除 Erase Sectors,就会提示下载成功,可以办理这个问题。但是缘故原由是为什么呢?

问题解答:
由于参考手册里面描述如下:
全片擦除将开释Flash 的安全状态位 security,这意味着在MCU复位期间,FSEC是从Flash配置字段0x40E处(对应Flash加密位)加载默认的设置值 0xFE(由于FSEC位默认的设置是0x10,也便是处于unsecured的)。
然后程序将0x40E处设置为0xFF。但是由于Flash常日只能由1写成0,而不能由0写到1,以是当在程序中设置加密位为01或者11时(包含0到1的操作),就会出错,程序将被终止,就会涌现上述报错提示。
对付扇区块擦除命令,它不会开释MCU安全状态,闪存配置字段依然为0xFF,以是扇区块擦除将适用于这种情形。FSEC值只在MCU复位时重新加载,以是在扇区块擦除MCU之后,Flash loader仍旧可以将全体二进制数据编程到MCU中。以是在这种情形下,需利用扇区擦除。