IAR环境中Kinetis的“0x40C -0x40F”加密位无法真正写入的原因和解决方法 -From Ningning Yu
最近,有客户反映在 IAR6.6 环境中,即便在程序中配置了Kinetis的加密字段“0x40C -0x40F”,但在实际程序运行中发现这些加密位并没有被真正的写进去。现根据Colleagues的分析,结合个人的理解总结如下,描述不清楚之处希 望能提出宝贵意见。
原因:新版本的IAR6.6 为了防止用户在使用Kinetis过程中误操作导致芯片被锁死,默认将加密位Disable了,在烧录Flash的时候设了最后一道闸门,将0x40C -0x40F的值统一成0xFFFFFFFE (解密模式)。 如果要完成加密, 可以修改其Flash Loader配置。证据:在C:\ProgramFiles\IAR Systems\Embedded Workbench 6.5_2\arm\config\flashloader\Freescale文件夹中,查看FlashK60Dxxx128K.board文件可以看 到如下描述,其中<args_doc>与</args_doc>可以理解为一些注释,需要按解决方法的步骤设置。<args_doc>.....--enable_config_write- allow programming of 0x40C - 0x40F with user supplied data, in other caseflashloader after erase of block 0 will write 0xFFFFFFFE (unsecurestate).</args_doc>
IAR环境中Kinetis的“0x40C -0x40F”加密位无法真正写入的原因和解决方法.pdf.pdf
(686.86 KB)
|