エアガン測定

エアガンに関する色々を測定したりしなかったりしています http://www.eonet.ne.jp/~daisaku-tech/index.html

STM32duinoはWindows Store版Arduino IDE 1.8.5ではダメ

Windows Store版Arduino IDE 1.8.5(2018/08/27時点)を使用して、STM32duinoによりBlue Pill(STM32F103 minimum development board)にsketchを書き込もうとすると、IDE下部のログ表示部分に「アクセスが拒否されました」とエラーが出て書き込めません。

この現象については、Arduino for STM32のサイトに「windows 10 upload "Access is denied" error on bluepill」として出ています。

windows 10 upload "Access is denied" error on bluepill - Arduino for STM32

日本語環境の場合、Access is deniedの部分が、アクセスが拒否されました、となります。

私も上記投稿者と同じ、Windows Store版Arduino IDE 1.8.5を使用しており、問題の現象が発生していました。Windows Store版を削除し、arduino.ccからダウンロードした1.8.6をインストールすると、問題が解決しsketchを書き込むことができました。

Arduino IDEバージョン1.8.5の問題なのか、Windows Store版の問題なのかは不明です。

STM32F103(STM32duino)の環境は、次のWebサイトを参考にしています。

https://ht-deko.com/arduino/stm32f103c8t6.html

私の環境は次の通り。

  • Blue Pillは2018年7月にAmazonで「HiLetgo® 2個セット STM32F103C8T6 ARM STM32 Minimum システム 開発ボードモジュール Arduinoと互換」を購入。
  • 片方のボードは、USBシリアルによるbootloader書き込み(stm32flash.exeでgeneric_boot20_pc13.bin書き込み)時にエラー(Failed to init device.)が発生して使用できず。もう片方のボードでは成功。
  • bootloader書き込みには、USBシリアル変換を使用した、シリアル通信による方法を使用。
  • USBシリアル変換には、FTDIチップが搭載されているものを使用。どこで購入したかは失念。基板裏面に「Deek-Robot」と記載あり。
  • このUSBシリアル変換基板は3.3V出力がなく、5V出力なので、Blue Pillの5Vピン(B9の右隣)に接続して電源供給。
  • Blue PillのUSBの不具合対策は、R10チップ抵抗交換ではなく、1.8KΩの抵抗をA12と3.3Vピンに接続することで実施。
  • STM32 bootloaderは、githubのrogerclarkmelbourne/STM32duino-bootloader の、2018/08/26時点のmasterを使用。

上記STM32F103のWebサイト中、「永続ブートローダモード」などで記載がある「オンボードLED」とは、ボード上に「PC13」と記載されている緑色LEDです。「PWR」の赤色LEDのことではありません。

私の環境では、次の状態でした。

  • STM32duino bootloaderのbinaries/generic_boot20_pc13.binを書き込むと、ボードの起動時に緑色LEDが1~2秒間点滅した後消灯。
  • bootloader_only_binaries/generic_boot20_pc13.binを書き込むと、ボード起動後、緑色LEDが点滅したまま。

Arduino IDEでのsketch書き込みは、緑色LEDが1~2秒間点滅した後消灯する、binaries/generic_boot20_pc13.binを書き込んだ状態で実施。

sketchの書き込みは成功し、PC13(緑色)LEDの制御が行えることは確認したのですが、sketch書き込み時、IDE下部のログの最後に「error resetting after download: usb_reset: could not reset device, win error: 指定されたファイルが見つかりません。」と表示されます。ですが、手動でリセットボタンを押すことなく、書き込んだsketchが動作します。