0

ホストがubuntuのvirtualbox内でwinxpを使用しています。ホストに接続された USB プログラマーはゲストにルーティングされます。avrdude を使用する WinAVR を使用します。makefile の関連フィールドは、プロセッサは Atmega32、ポートは usb、プログラマは stk200 として指定されています。それでも、デバイス「usb」が見つかりませんと表示されます。助けてください。

4

1 に答える 1

2

エラー-P usbは、コマンドの誤りが原因です。

avrdude -p atmega32 -P usb -c stk500v2 -U flash:w:main.hex

USB シリアル接続のプログラマーまたはブートローダーを使用する場合は、「usb」をポートとして指定しないでください。オペレーティング システム ドライバーのダウンストリームでは、これらは USB デバイスではなくシリアル ポートとして扱われるためです。

このようなデバイスを使用するときは、接続されている com ポートまたはデバイス ノードを特定し (おそらく、接続および切断したときにどちらが表示/非表示になるかを確認することによって)、プログラマーが必要とするボー レートを見つけて、次のようなコマンドを発行します。なので

COM1またはWindowsの何でも

avrdude -p atmega32 -P COM1 -b115200 -c stk500v2 -U flash:w:main.hex

Linux または OSX

avrdude -p atmega32 -P /dev/whatever -b115200 -c stk500v2 -U flash:w:main.hex

Linux のデバイス ファイルは /dev/ttyUSB0 または /dev/ttyACM0 のようなものですが、OSX では /dev/tty.usbmodem などになる傾向があります。


コメントで提案する代替ソリューションは、特定のプログラマーが、ホストオペレーティングシステムの目には USB シリアルデバイスではなく、少なくともいくつかのバージョンのカスタム USB プロトコルで-P avrdoperある代替インターフェイスを提供するという事実を活用します。avrdude は話す方法を知っています。

于 2014-08-13T18:37:10.870 に答える