- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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