マイクロプロセッサのUSB経由のプログラム書き込みは、次のような手順で実現されています。
プログラムがメモリに書き込めない場合、基板自体が起動できる状態になっていないケースが多いです。そのため、まずは、次の章の”起動しない“の項目を確認してください。基板が起動できる状態になった後での質問と回答は次の通りです。
Q1 eMMCにプログラムを書き込みたいのですが、JTAGやUARTから書き込めません。どうしたらいいですか?
A1 マイコンでの開発では、フラッシュメモリ内蔵マイコンのプログラムを書き換える際に、JTAGやUARTを使うことが一般的ですが、プロセッサの場合、フラッシュメモリは外付けで、数ギガバイト以上の容量を持つことは珍しくありません。プログラム書き込み時に転送するデータサイズも、OSや各種ライブラリを含めた総合プログラムサイズは数百メガバイトを超えることがあります。そのため、JTAGやUARTでの書き換えは、効率の面から、現実的ではありません。
eMMCのプログラムの書き換えについては、USBOTGを使用して書き換えることを推奨します。STマイクロエレクトロニクスではUSBOTGを使用して、基板上のeMMCやSDカードのプログラムを書き換えるために、STM32CubeProgrammerという無償のソフトを提供しています。STM32MP1やSTM32MP2のプログラム書き換えの際にはSTM32CubeProgrammerを使用して、USBOTG経由でご使用ください。
Q2 eMMCにプログラムを書き込めないのですが、書き込みモードにするなど特定の手順が必要なのでしょうか?
A2 ブートピンの信号がUSBブートモードになっていることを確認します。STのSTM32MP1シリーズではBOOT0-2が全てLowの時にUSBブートモードになります。ブートモードを切り替えた後はRESETボタンを押して、リセットをしてください。
Copyright © ITmedia, Inc. All Rights Reserved.