フォト
2018年11月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
無料ブログはココログ

« TV出力ライブラリ更新を豊四季Tiny BASIC for Arduino STM32に適用する | トップページ | (メモ) マイクロソフトが公開しているWindows Commands Reference(PDF) »

2018年8月20日 (月)

Arduino STM32のUSB HIDインタフェースの新しいブートローダー (2)

記事「Arduino STM32のUSB HIDインタフェースの新しいブートローダー」を書いた時点では
Arduino IDEのメニューにてHIDブートローダ経由書き込み指定が出来なかったのですが、
先日の更新後のArduino STM32パッケージをインストールして確認したところ、
メニューに組み込まれていました。

そこで、実際にHID経由でのスケッチ書き込みを試してみました。

09_2


試してみたボード
  ・Blue Pillボード(写真 左)
  ・Bkack Pillボード(写真 中)
  ・RobotDym Blue Pill互換ボード(写真 右)

  Dscn8723

まずはHID用のブートローダを書き込む必要があります。
HID用ブートローダは、本来は下記のサイトが公式サイトになるのですが、
rogerclarkmelbourne/STM32_HID_Bootloader
まだ、Blue Pill用のものしか置いていないようです。若干古い可能性があります。

当面は、オリジナル版開発者の下記のサイトから入手した方が良さそうです。
https://github.com/Serasidis/STM32_HID_Bootloader

ダウンロードして解凍します。
HIDブートローダは、
  STM32_HID_Bootloader\bootloader_F1\bootloader_only_binaries\の中のファイルを利用します。

  ・Blue Pillボード、RobotDym Blue Pill互換ボード
    hid_generic_pc13.bin を利用
  ・Bkack Pillボード
    hid_generic_pb12.bin を利用

ST-Linkを使ってHIDブートローダを書き込みます。

  Dscn8724

ツールは、ST-LINK Utilityを使いました。   

  14

  HIDブートローダのファイルをロードして書き込みます。
  15


  書き込み後、パソコンにUSB経由で接続します。 
  この時、ボードマイコン(ここではBlue Pill)のBOOT1を1に設定してから、
  パソコンに接続します。  LEDが激しく点滅します。
  (この手順が分からす、なかなか書込み出来ませんでた。試行錯誤のため、
    手順としては間違っている可能性があります。)


  Dscn8725

  つなげると、パソコン(Windows 10)でSTM32F HID Bootlooader が認識されました。
  10

デバイスを調べてみると、次のような感じで登録されています。

11

試しに、Lチカスケッチを書き込んでみます。

17

問題無く書き込めました。
マイコンボードのBOOT1を0側にして、リセットボタンを押します。
これで、書き込んだスケッチが実行されます。

再度スケッチを書き込むには、 マイコンボードのUSB接続を抜き、
BOOT1を1にして、パソコンに接続します。
なぜか、USBの接続を一旦抜いてからでないとダメでした。
このあたりは、ちょっと面倒です。
もしたら、手順として間違っている可能性があるため、もう少し試してみます。

HIDブートローダのメリットとしては、
ブートローダが8Kバイトから4Kバイトに小さくなり、利用出来るフラッシュメモリの領域が
4kバイト増えた点と、ドライバーのインストールが不要な点です。

手順(もし、今回のやり方が正しいとすれば)的には、HIDブートローダ経由は、
BOOTピンの設定変更とボートの抜き差しがちょっと面倒です。

USBはCDC(シリアル通信)としても使うので、
HIDブートローダを有効にするために、BOOT1の設定が必要みたいです。

現時点では、HIDブートローダの書込みはWindowsしか対応していないようです。

関連記事
Arduino STM32のUSB HIDインタフェースの新しいブートローダー

« TV出力ライブラリ更新を豊四季Tiny BASIC for Arduino STM32に適用する | トップページ | (メモ) マイクロソフトが公開しているWindows Commands Reference(PDF) »

arduino」カテゴリの記事

ARM」カテゴリの記事

STM32」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/67077340

この記事へのトラックバック一覧です: Arduino STM32のUSB HIDインタフェースの新しいブートローダー (2):

« TV出力ライブラリ更新を豊四季Tiny BASIC for Arduino STM32に適用する | トップページ | (メモ) マイクロソフトが公開しているWindows Commands Reference(PDF) »