Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

PSoC® 3/4/5LP デバイス でのCPUコード実行とフラッシュメモリへの書込み - KBA90912 - Community Translated (JA)

PSoC® 3/4/5LP デバイス でのCPUコード実行とフラッシュメモリへの書込み - KBA90912 - Community Translated (JA)

GeethaP_31
Employee
Employee
50 questions asked 10 questions asked 5 questions asked

Community Translated by  Motoo Tanaka Expert       Version: **

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

質問:

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

回答:

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

PSoC 3/5LP  デバイスにおいて、フラッシュメモリはキャッシュコントローラまたは SPCのいずれかによって読み出せます。しかし、フラッシュメモリへの書込みは、SPCのみで実行可能です。SPCとキャッシュコントローラは同時にフラッシュメモリにアクセスできません。もしキャッシュコントローラがSPCと同時にフラッシュメモリにアクセスを行おうとすると、キャッシュコントローラは SPC のフラッシュメモリへのアクセス動作が終了するまで待たなくてはなりません。CPU はキャッシュコントローラを介してフラッシュメモリにアクセスするため、この状況では停止することになります。

CyWriteRowFull(), CyWriteRowData(), およびCyWriteRowConfig()API は、SPC を介してフラッシュメモリへ書込みを行います。キャッシュミス状態のため CPU がフラッシュメモリからコードをフェッチする必要がある場合、キャッシュコントローラは SPC がフラッシュメモリへの書込み動作を終了するまで待たなくてはなりません。そのため、フラッシュメモリからの CPU コードの実行はフラッシュメモリへの書込みが終了するまで停止されます。

PSoC 4 デバイスにはキャッシュメモリがありません。しかし、CySysFlashWriteRow()API を使用したフラッシュメモリへの書込みはブロッキング命令であり、そのためフラッシュメモリからの CPU 実行はフラッシュメモリ書込みが行われている間停止されます。CPU の実行はフラッシュメモリ書込み動作の終了後に再開されます。

PSoC 4 と PSoC 5LP デバイスでは、フラッシュメモリへの書込み動作中に、CPUはSRAMメモリからのコードを実行できます。

0 件の賞賛
371 件の閲覧回数
寄稿者