主题:controlSUITE中讨论的其他部件
工具/软件:Code Composer Studio
尊敬的专家:
我正在6.1 环境中调试F2.8377万D。 我有将8个字编程到CPU2闪存的代码。 我使用controlSUITE device_support V200中的闪存API示例程序(但下载了最新的F021库)。 在非安全模式下进行调试时,写入闪存将正常。 但是,当我对CSM进行编程并锁定设备时,编程失败。 其他代码在安全时运行正常。
闪存编程例程在安全RAM区域D1中运行,要写入的扇区为L,即从0xBA000开始。 整个闪存也被设置为安全,即Z1_GRABECT中有代码0x15.5555万,Z1_GRABRAM中有代码0xD0.5555万。 我有默认的Z1区域,即所有F的链接指针。
闪存编程说明指出,如果编程代码和闪存都是安全的,则写入不需要解锁。 但是,我也尝试了一个版本,在调用F021例程之前运行解锁例程,但结果仍然不成功。
出于某种原因,在非安全模式下成功写入之前,我还需要两次后续的闪存擦除F021调用。 安全版本中也包含这些内容。 我想优化级别在这里没有任何重要性,因为库函数中的所有内容都已完成? (我的-O 1和速度与大小为5),时钟频率为180MHz。
我找不到关于闪存ECC内存范围安全/不安全设置的任何提及,所以我猜它无关紧要? 我刚刚注意到,如果我使用的闪存写入示例不包括CPU2的ECC,则CPU1从CPU2接收到启动错误,因此我需要使用ECC写入版本。
有什么想法出错了吗? 设置安全锁时调试相当困难,因此我需要专家的意见!
此致,
Jouko