質問:
ArduinoIDEは選択されたポートを使用しません
jmb
2019-11-06 05:06:53 UTC
view on stackexchange narkive permalink

AVRISP mkII プログラマーを使用してATtiny85をプログラムしようとしています(これは https://www.amazon.de/dp/B00IYNAXUC/ref=cm_sw_r_sms_c_api_i_VXOWDb3H3N5ND)Arduino IDE(Ubuntu 18.10のバージョン1.8.10)を使用。 ATtinyの場合、数え切れないほどのチュートリアルで推奨されているように、ボードマネージャーを使用して https://github.com/damellis/attinyをインストールしました。

これで、すべてが正常に認識され、IDEでプログラマーポート / dev / ttyACM0 を選択しました。
しかし、スケッチをアップロードしようとすると、IDEは代わりに usb を avrdude へのポートとして使用します。これは、詳細出力を有効にしている場合にのみ表示されます:(パスは省略)

  / home / [...] / avrdude -C / home / [...] / avr / etc / avrdude。 conf -v -pattiny85 -cstk500v2 -Pusb -Uflash:w:/tmp/arduino_build_728460/sketch.ino.hex:i avrdude:バージョン6.3-20190619 Copyright(c)2000-2005 Brian Dean、http://www.bdmicro。 com / Copyright(c)2007-2014 JoergWunschシステム全体の構成ファイルは「/home/[...]/avrdude.conf」です。ユーザー構成ファイルは「/home/[...]/.avrduderc」です。ユーザー構成ファイル存在しないか、通常のファイルではないため、スキップします。ポートの使用:usbプログラマーの使用:stk500v2avrdude:usbdev_open():USBデバイス "usb"(0x03eb:0x2104)avrdudeが見つかりませんでした。ありがとうございます。 

usb はIDEで選択可能なポートでもありません!

avrdudeコマンドを貼り付けるだけです(の最初の行上記の出力)を端末に接続し、 usb / dev / ttyACM0 に変更すると、ICが完全にプログラムされます(もちろん、これはかなり面倒な回避策です)。

また、IDEで別のプログラマー(mkIIなしのAVR ISPなど)を選択すると、正しいポートが使用されます(ただし、プログラマーが間違っているため、もちろん機能しません)。

私は何か間違ったことをしていますか、それともこれはArduino IDEの実際のバグですか?

よく書かれた質問に賛成する
Shiftボタンを押しながらアップロードをクリックしましたか?
@Coder_fox私もそれを試しましたが(アップロードするだけでなく、プログラマーでアップロードする)、効果がなかったようです。
二 答え:
Edgar Bonet
2019-11-06 15:47:52 UTC
view on stackexchange narkive permalink

STK500 v2プログラマーは、直接USBではなくエミュレートされたシリアルポートを使用しているということですか?次に、ArduinoIDEにバグがあると思います。ファイル programmers.txt には、プログラマーを説明する次の行が含まれています

  avrispmkii .name = AVRISP mkIIavrispmkii.communication = usbavrispmkii.protocol = stk500v2avrispmkii.program.protocol = stk500v2avrispmkii.program.tool = avrdudeavrispmkii.program.extra_params = -Pusb  

このファイルは次の場所にあります。 Arduinoをインストールし、このスニペットの最後の行を

  avrispmkii.program.extra_params = -P {serial.port}  

で置き換えます。修正を加えたプルリクエストをArduinoチームに送信することをお勧めします。

または、プログラマーとして「AtmelSTK500開発ボード」を選択してみてください。これは、STK500プロトコルのバージョンを自動検出することになっており、正しいシリアルポートを使用します。

編集:交換が必要な場合もあります

  avrispmkii.communication = usb  

by

  avrispmkii.communication = serial  

Cf このバグレポートは、直面している問題を正確にカバーしているようです。

Peter Paul Kiefer
2019-11-06 15:03:00 UTC
view on stackexchange narkive permalink

ISPプログラマーとしてArduinoを選択する必要があると思います。 mkIIISPではありません。標準のプログラマーを使用している場合、おそらくattinyボードライブラリはusbを介したattiny開発ボードへの接続を処理できます。しかし、それは非常に大まかな推測です。ただし、ArduinoをISPとして選択する必要があります。

編集:

いいえ、STK500プログラマーを使用している場合、ArduinoをISPとして使用することはできません。

D。 A. Mellisのツールは、プログラマーとしてのArduino用に設計されています。

ただし、回避策でプログラミングを行う場合は、mkIIが適切なツールです。 IDEが avrdude を開始するためのCLI文字列をどのように構築するかを確認する必要があります。

インストールしたツールには、 platform.txt というテキストファイルが含まれています。 :

  name = ATtiny Microcontrollerstools.avrdude.path = {runtime.tools.avrdude.path} tools.avrdude.erase.params.verbose = -v -v -v-vtools.avrdude。 initialize.params.quiet = -q -qtools.avrdude.erase.pattern = "{cmd.path}" "-C {config.path}" {erase.verbose} -p {build.mcu} -c {protocol} {program.extra_params} -e -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:mtools.avrdude.bootloader.params。 verbose = -v -v -v -vtools.avrdude.bootloader.params.quiet = -q -qtools.avrdude.bootloader.pattern = "{cmd.path}" "-C {config.path}" {bootloader.verbose } -p {build.mcu} -c {protocol} {program.extra_params}  

エントリ tools.avrdude.bootloader.pattern が騙す。特に変数 {program.extra_params} 。 IDEがこの変数をどのように構築しているかを知る必要があります。オプションの1つは、 -P<Port> である必要があります。しかし、IDEが <port> に値 usb を使用するのはなぜですか?

調べてみます。しかし、現時点ではIDEにアクセスできません。あなた(または他の誰か)が私の前に解決策を見つけた場合は、回答を追加して承認済みとしてマークしてください。これ以上調査する必要はありません。

私はArduinoをプログラマーとして使おうとはしていません。私はこれを持っています:https://www.amazon.de/dp/B00IYNAXUC/ref=cm_sw_r_sms_c_api_i_VXOWDb3H3N5ND本当にArduinoを選択する必要がありますか?
あなたが私たちに指摘したドキュメントが要求するように、あなたはプログラマーのためにArduinoを使用しません。それは本当に興味深い情報です。 ;-)質問に追加します。答えを編集します。
私の悪いことに、AVRISPmkIIで十分な情報だと思いました。質問が更新されます。
@EdgarBonetの答えはあなたに情報を与えます、私が探していました。
そして、あなたは正しいです、AVRISPmkIIは私にヒントを与えるべきでした。それはあなたのせいではありませんでした。ただ私は怠惰すぎて考えることができませんでした。しかし、私のような怠惰な人々が間違った解釈をしないように、できるだけ多くの情報を提供することは常に良い考えです。 ;-)


このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 4.0ライセンスに感謝します。
Loading...