0 Replies Latest reply on May 11, 2020 12:06 AM by MoTa_728816

    Community Translation - CPU Code Execution and Writing to Flash Memory of PSoC® 3/4/5LP Devices - KBA90912

    MoTa_728816

      Hi,

       

      I'd like to translate KBA90912 into Japanese.

       

      moto

       

      Original KBA: KBA90912

      CPU Code Execution and Writing to Flash Memory of PSoC® 3/4/5LP Devices - KBA90912

       

      Translated by: MoTa_728816

      ==============================

      タイトル: PSoC® 3/4/5LP デバイス CPU のコード実行とフラッシュメモリへの書込み - KBA90912

       

      ヴァージョン: **

       

      質問:

      PSoC 3/4/5LP デバイスでフラッシュメモリへの書込みを行っている間は CPU の実行は停止されてしまいますか?

       

      回答:

      PSoC 3/4/5LP デバイスにおいて、フラッシュメモリへの書込みはブロッキングです。PSoC 3/4/5LP デバイスは不揮発性メモリの消去とプログラムオペラーションを行うシステムパフォーマンスコントローラ (SPC) と呼ばれるハードウェアブロックを内蔵しています。フラッシュメモリからの CPU コードの実行は SPC がフラッシュメモリへのデータ書込みを終了するまでの間は停止されます。

       

      PSoC 3/5LP  デバイスではフラッシュメモリはキャッシュコントローラか SPC  が読むことができます;しかしフラッシュメモリへの書込みは SPC のみが実行可能です。

      もし SPC とキャッシュコントローラが同時にフラッシュメモリにアクセスを行おうとすると、キャッシュコントローラは SPC のフラッシュメモリへのアクセスが終了するまで待たなくてはなりません。CPU はキャッシュコントローラを介してフラッシュメモリにアクセスするので、この状況下では停止することになります。

       

      CyWriteRowFull(), CyWriteRowData(), CyWriteRowConfig() API は SPC を介してフラッシュメモリへ書込みを行います。

      キャッシュミスによって CPU がコードをフラッシュメモリからフェッチする必要がある場合、キャッシュコントローラは SPC がフラッシュメモリへの書込み処理を終了するまで待たなくてはなりません。そのためフラッシュメモリからの CPU コードの実行はフラッシュメモリへの書込みが終了するまで停止されます。

       

      PSoC 4 デバイスはキャッシュメモリがありません。

      しかし、CySysFlashWriteRow() API を使用したフラッシュメモリへの書込みはブロッキング命令で、そのためフラッシュメモリからの CPU 実行はフラッシュメモリ書込みが行われている間停止します。CPU の実行はフラッシュメモリ書込み処理の終了後に再開されます。

       

      PSoC 4 と PSoC 5LP デバイスでは、フラッシュメモリへの書込みが行われている間、SRAM メモリからのコードを実行することが可能です。

      ==============================

       

      11-May-2020

      moto