複数のプロジェクトに使用できる青い錠剤 STM32F103 の基本プロジェクトを作成しようとしています。mirco-USB ポートを使用して、シリアル COM ポートを使用してデバイスをフラッシュし、コマンドを送信できるようにしたいと考えています。
これまでのところ、私は持っています:
- STLINK ツールを使用して、デバイスにダウンロードされた "hello world" 点滅 LED makefile ベースのプロジェクトを正常に作成しました
- シリアル FTDI デバイスを介してコマンドを実行するための UART コマンド インターフェイスを作成
- DFUブートローダーをチップにフラッシュし、それを使用して自分の(makefileコンパイルされた)ビンをデバイスにフラッシュすることに成功しました
DFU を使用すると、.bin をデバイスにフラッシュすると、USB デバイスとして表示されなくなります。以下にリンクされている記事に従って、プロジェクト コードの ROM アドレスを変更する必要はありません。makefile プロジェクト リンカでファイル サイズを 55k に短縮しましたが、まだ成功していません。
https://os.mbed.com/users/devanlai/code/STM32F103C8T6_USBDFU/graph/ https://github.com/devanlai/dapboot/releases/tag/v0.1
私の質問:
- DFU ブートローダを使用する場合、アプリケーション コードに USB スタックが書き込まれていない場合、コードが実行されると、どのように USB デバイスとして表示されるようになりますか?
- ブルーピルのジャンパーを移動する必要がありますか? すでにさまざまな組み合わせを試しましたが、成功しませんでした
- 独自のブートローダーを作成およびデバッグせずに、プロジェクトで USB 経由でシリアル通信とブートローダーを取得するための最良の方法は何ですか?