SWD 経由で M0+ デバイスをフラッシュしたい。これは、プログラマではなくホスト プロセッサによって実現されます。
RAMへの書き込みと検証はすでにできていますが、フラッシュにはできません。
M3/4 コアとは少し違うようで、M0+ では動作しません。
M0+ で SWD を介してチップ消去と書き込みコマンドを実行するための互換性のあるシーケンスを誰かが手伝ってくれませんか?
ありがとうダニエル
フラッシュ消去はデバイス固有です。通常、値をフラッシュに書き込むことはできません。フラッシュコントローラーを使用して最初にブロックを消去し、値が安定するまで書き込み/検証アクセスを繰り返し実行する必要があります。この書き込み段階は、通常、コントローラーによっても自動化されます。
フラッシュは通常コードが実行される場所であるため、最初にコード ダウンロード ルーチンを RAM にコピーし、フラッシュがビジーな間に RAM から実行する必要もあります。
すべてのアクセスは、プロセッサまたは外部デバッガで実行できます。SWD によるアクセスを実行する場合、デバッグ ソフトウェアは正確なターゲット デバイス、そのメモリ マップ、およびフラッシュ コントローラーの要件を認識している必要があります。この情報はすべて、使用しているデバイスのデータシートに記載されている必要があります (どこかのメーカーのツールチェーンによってサポートされます)。
独自のフラッシュ ルーチンを作成する場合は、必ず仕様に準拠してください。フラッシュはどちらかというとアナログ コンポーネントであり、チップを破壊しなくても、簡単に元に戻すのが難しい状態になる可能性があります。