• No : 9028
  • 公開日時 : 2021/11/02 12:19
  • 更新日時 : 2022/10/12 13:44
  • 印刷

【NXP:Kinetis】 K64でセキュア状態に設定すると動作しなくなりました。

K64を非セキュア状態(FSEC[SEC]=10)に設定した場合は、正常に動作します。
しかしながら、セキュア状態(FSEC[SEC]=00, 01 or 11)に設定すると正常に動作しなくなりました。
何故正常に動作しなくなるのですか。
カテゴリー : 

回答

セキュア状態(FSEC[SEC]=00, 01 or 11)にした場合、次の処理を実行するとHardFaultが発生します。
・ArmコアのROM Table(0xE00FF000~0xE00FFFFF)をアクセス
・SIM_SOPT2[FBSL]で許可されていない方法でFlexBusに対してアクセス
 
開発されたプログラムでROM Table(0xE00FF000~0xE00FFFFF)の領域をアクセスしている処理が含まれている場合は、その個所のプログラムの削除してください。
また、SIM_SOPT2[FBSL]で許可されていない方法でFlexBusに対してアクセスしている場合は、SIM_SOPT2[FBSL]に適切な値を設定してください。
 
例えば、外部デバイスに保存されているプログラムを実行する場合は、SIM_SOPT2[FBSL]に11bを設定、データアクセスの場合は、SIM_SOPT2[FBSL]に10bもしくは11bを設定してください。