garfield

使用TKScope仿真器写保护和加解锁Kinetis器件

0
阅读(4693)

TKScope仿真器已经完成了对Freescale的Kinetis家族器件(Cortex-M4内核)的支持,具体的支持情况可以见之前的这篇文章。使用TKScope仿真器,不仅仅可以将程序下载到Flash中调试,而且还支持器件的加密、解锁、写保护等操作。

下面的这篇文章,详细地介绍了如何使用TKScope仿真器对Freescale的Kinetis家族器件进行加密、解除加锁,以及如何对特定的Flash区域写保护及解除写保护。这里以使用K-Flash烧写AK100pro和K60器件为例,其它型号的仿真器和器件的使用基本类似。

使用TKScope仿真器加密K60器件

首先,打开TKScope仿真器的配置界面,进入【硬件选择】。根据当前的硬件条件,选择所用的仿真器和芯片型号。这里我们选择AK100pro和MK60DX256XXXX10。然后点击【确定】按钮。

Freescale解锁_器件选择

接下来,进入【程序烧写】配置界面,对Flash烧写的参数进行配置。

Freescale解锁_程序烧写

选中【MK 256KB Prog Flash】,点击【选项】按钮,弹出【MK Flash Configuration Filed】界面。

Freescale解锁_算法选择

由于K60器件本身的特性,一旦加密,器件的调试接口将被禁用,甚至于可能导致禁用后完全无法解除。TKScope认为,这会严重影响到用户的调试,属于需谨慎配置的操作;所以,提供了【不可恢复加密编程】输入栏,要求用户必须在正确输入特定的密码后才能进行加密配置。当正确输入密码后,TKScope认为用户已经知道了这种配置的风险,才允许用户进行这些涉及高风险的配置

Freescale解锁_密码

接下来,切换到【MISC Config】选项卡,配置FSEC.SEC项,选择【MCU security status is secure】状态。注意,除非已经明确知道相应的危险性,否则不要更改默认的FSEC.MEEN配置。因为一旦整片擦除被禁止并且器件处于加密状态,仿真器将无法再对器件进行解锁。

Freescale解锁_加密配置

最后,我们将需要烧写的代码使用K-Flash加载并烧写到Flash中。在烧写Flash地址0x400-0x40C区域时,相应的配置参数会同时被写入.加密配置在成功写入、器件复位后生效。注意,如果用户没有烧写区域0x400-0x40C,则加密配置不会被写入

Freescale解锁_加密结果

使用TKScope仿真器解锁K60器件

在加密器件后,TKScope仿真器将不能再通过调试接口进行连接和调试。用户可在TKScope仿真器配置界面的【特殊操作】中对该器件进行解锁。点击【特殊操作】按钮,进入操作界面。

Freescale解锁_特殊操作

点击【Unsecure】按钮,然后按钮TKScope弹出的界面提示操作,即可解锁K60。

Freescale解锁_解锁  要特别注意的是:如果用户在进行加密配置时,更改了FSEC.MEEN的缺省配置而禁用了整片擦除操作,则此时是无法再进行解锁的。

使用TKScope仿真器写保护K60器件

TKScope仿真器除了能够进行加密和解锁操作外,也允许用户对K60的特定Flash区域配置写保护。一旦这些的区域写保护,则在这些区域上进行的任何编程、擦除操作均会失败。在对K60进行写保护配置时,在【MK Flash Configuration Field】对话框中切换到【Program Flash Protection】,用户可以任意勾选进行配置。

同样的,上面的这些配置也仅在烧写过程中烧写0x400-0x40C区域后才生效。

Freescale解锁_Flash写保护 在烧写完成后,我们可以尝试点击下【擦除】按钮擦除整片。很明显,由于Flash的一些区域已经被我们配置为写保护,所以此时整片擦除操作会失败。

Freescale解锁_Flash写保护写失败

使用TKScope仿真器解保护K60器件

如果在烧写过程中意外的发现某些区域由于写保护而导致失败,可以根据实际情况按以下操作来解除写保护:

  • 情况一:如果MK60 256KB Prog Flash除第0扇区外的其它扇区写保护,可使用K-Flash单独擦除第0扇区来解锁写保护;
  • 情况二:如果MK60 256KB Prog Flash的第0扇区也写了保护,则必须使用前面提到的【特殊操作】界面的解锁操作来解锁写保护。

当然,最简单的方法是直接采用第二种:直接使用解锁操作来擦除整片来解除器件的所有写保护。

总结

TKScope仿真器针对具体型号的器件做了大量细致化的工作。不仅满足用户的调试需求,而且也满足了用户的Flash烧写需求。后续TKScope仿真器将会做更多完善的工作,为广大的嵌入式开发者提供更易用、更强大的调试工具。

有关TKScope仿真器的更多信息,可访问:http://www.embedtools.com/pro_tools/emluator/TKScope.asp