私は OpenOCD の初心者です。Olimex OpenOCD を使用して、実際にプログラム hex ファイル (Kiel から) を ARM CORTEX M0 (ジェネリック) にフラッシュしようとした人はいますか?
MCUフラッシュ内でmww(メモリ書き込みワード)を実行するためにhexファイルの各ワードを取得するためにスクリプトファイルをセットアップするには何が必要ですか?私はパイソンを使用しています。
私は提案を開きます。
ウィンドウパソコンを使用しています。
確かに、具体的にはどのプラットフォームですか? いくつかのグーグルは正確なシーケンスを見つけるでしょう. フラッシュのロック解除、消去、プログラムなど
たとえば、このページのセクション 6。
http://pygmy.utoh.org/riscy/cortex/led-lpc17xx.html
どのボードで実行したかを把握しようとしていますが、それらはほとんど私が従ったコマンドであり、うまく機能しました。leaflabsのメイプルミニだったかもしれません。手順は同じです。ステップやスクリプト作成などを回避するために、私が最終的に行ったことは、ram+0 = 0x12345678、および ram+4 = 0x87654321 の場合、ram+8 に分岐するか、そうでない場合は無限ループであるというブートローダーの数行を作成することでした。次に、jtag を使用して 2 つのワードと 0x08 バイトのエントリ ポイントを含むプログラムを RAM にロードし、リセットを押してプログラムを実行するのは簡単でした。コールドパワーアップでは、無限ループに陥ります。jtag を使用してすべてを RAM にロードするより大きなアーム ベースのシステムで 1 日を過ごしているので、非常に快適です。openocd でスクリプトを作成し、openocd コマンドを入力するだけで、フラッシュ ロードが発生します。
私が知っているすべての Cortex M0 には JTAG がなく、SWD のみがサポートされています。SWD は OpenOCD ではまだ利用できません。まだ開発中です。
別の注意: フラッシュ メモリへの書き込み方法は、各ベンダー/チップに固有です。
立ち寄った人のために更新...
マイクロコントローラにフラッシュ プログラミング (たとえば、独自のコードをアップロード) するだけの場合は、mww を使用する必要はありません。
しばらく前に、OpenOCD は、プログラミングに使用できる (「組み込み」) 便利なスクリプトを取得しました。この「コマンド」は「プログラム」と呼ばれます。「プログラム」コマンドに関するドキュメントの例を次に示します。
openocd -f interface/ftdi/jtag-lock-pick_tiny_2.cfg -f board/stm32f3discovery.cfg -c "program filename.elf verify reset"
-「stm32f3discovery」をボードに置き換えます。別のアダプターを使用する場合は、インターフェースを適切な構成ファイルに置き換えます。