エラーの内容と対応方法を共有します。
動作環境とエラーの内容
Arduino IDE
OS: Ubuntu16.04Platform: Arduino IDE 1.6.12
Boad: Arduino Leonardo
発生したエラー
Arduino: 1.6.12 (Linux), Board: "Arduino Leonardo" Sketch uses 5,674 bytes (19%) of program storage space. Maximum is 28,672 bytes. Global variables use 219 bytes (8%) of dynamic memory, leaving 2,341 bytes for local variables. Maximum is 2,560 bytes. avrdude: ser_open(): can't open device "/dev/ttyACM0": Device or resource busy Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions. This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.
PlatformIO
OS: Ubuntu18.04Platform: PlatformIO 4.1.0
Boad: ProMicro
発生したエラー
avrdude: writing flash Writing | ########################## ***failed; ***failed; ***failed; ***failed; ***failed; ***failed; ***failed; ***failed; ***failed; ***failed; ***failed; ***failed; ***failed;
これが発生するとatmega32u4のプログラムが壊れるからかUSB機器として動かなくなります。
そうなった場合は、Arduinoを2回素早くリセットして書き込みモードとして起動してこのエラーが発生しないPCからプログラムを書き込むか、ファームウェアを書き直すと復活することがあります。
ファームウェアの書き込みは下記の記事が参考になると思います。
Atmega32u4にArduino Leonardoのブートローダーを書き込んでみた
対応方法
モデムのプログラムを消すとエラーが発生しなくなりました。sudo apt --purge remove modemmanager
以上です。
参考
The Linux ttyACM0 drama - more details after a lot of experimenting変更履歴
2020.01.04PlatformIOを利用していた時に発生した「***failed;」が連続するエラーもこの記事の対応方法で解決できたので、情報を追加しました。
0 件のコメント :
コメントを投稿