上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/AVR/AVR Writer/USBtinyISP
をテンプレートにして作成
資料室
開発/AVR/AVR Writer/USBtinyISP をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
* USBtinyISP
[[USBtinyISP>http://www.ladyada.net/make/usbtinyisp/]]は...
Windows,Linux,MacOSXなどのマルチプラットフォームで使用...
Dick Streefland氏の[[USBtinyプロジェクト>https://dicks.ho...
このUSBtinyISPを[[AdafruitがKit製品化>https://learn.adafr...
派生バージョンも多く作成されていて,Julian Schuler氏の[[U...
ihsan Kehribar氏は''ATtiny85''を使用して,さらに小型の[[L...
USBtinyISPは部品点数も少なく自作も安価に容易にでき,書き...
しかし残念ながら64KB以上のFlash ROMを搭載している''Atmega...
* AdafruitのUSBtinyISP v2.0
[[lady ada氏>http://www.ladyada.net/make/usbtinyisp/]]に...
USBコントローラーは使わず,[[V-USB:https://www.obdev.at/p...
このUSBtinyISP v2.0を[[AdafruitがKit製品化>https://learn....
#ref(usbtinyisp_ada.png,,60%)
また,[[AmazonでもAdafruit版の互換品>https://amzn.to/40cL...
5Vを3.3VにするDC-DCコンバーターは実装されていないので,タ...
USBからの5Vをターゲットボードに供給するかしないかの切り替...
セルフパワーの3.3Vターゲットボードでも問題なく使用できる。~
#ref(usbtinyisp2sch.png)
** Adafruit USBtinyISP v2.0のfirmware
AdafruitのUSBtinyISP v2.0をUSB接続のAVR Writerとして機能...
[[Adafruit>https://learn.adafruit.com/usbtinyisp/download...
USBtinyISPのfirmwareだけでなく,赤外線リモコン受信機にす...
''自作した場合はfirmwareを書き込むため,何らかの別のAVR W...
spiディレクトリにあるコンパイル済みの''main.hex''をATtiny...
> avrdude -c usbasp -p t2313 -U flash:w:main.hex U hfuse...
** AdafruitのUSBtinyISP v2.0の設定
AdafruitのUSBtinyISP v2.0では,JP1がジャンパーされるとUSB...
3.3VにするDC-DCコンバーター回路は実装されていないので,タ...
|Jumper|説明|h
|JP1|ターゲットボードへの給電&br;Jumperなし:給電なし&br;J...
ターゲットボードに合わせてJP1を設定する。~
** 互換品USBtinyISP v2.0の問題
Amazonで販売されている[[Adafruit USBtinyISP v2.0の互換品>...
#ref(usbtinyisp.png,,50%)
この互換品USBtinyISP v2.0は,bufferチップが本来74AHC125が...
74HC125は電源電圧以上の電圧の入力を形容しないので,Jumper...
3.3Vターゲットボードに使う場合は,bufferチップを''74AHC12...
* Julian Schuler氏のUSBtinyISP
Julian Schuler氏は,CPUに14pinのATtiny24Aを使用して[[小型...
3.3VDC-DCコンバーターを実装し,500mA/5Vや300mA/3.3Vを切り...
またセルフ3.3Vターゲットボードであっても,問題なく使用で...
#ref(USBtinyISP_Sch.png,,50%)
** firmware
[[こちら>https://github.com/julianschuler/USBtinyISP]]の...
Julian Schuler氏のUSBtinyISPを自作した場合は,ビルド済み...
> avrdude -c usbasp -p t24 -P usb -U flash:w:main.hex -U...
** Julian Schuler氏のUSBtinyISPの設定
|DIPSW|説明|h
|1 |ターゲットボードへの給電&br;ON=給電&br;OFF=非給電|
|2 |供給電圧切替&br;ON=5V&br;OFF=3.3V|
* Little Wire
&ref(littlewire.png,,30%,around);[[Little Wire>https://li...
#clear
#ref(Little-Wire_sch.png,,20%)
ATtiny85は端子がたった8pinしか無いので,12MHzのX'Talを使...
** 自作してみた。
上記の回路図のように1時間ぐらいで出来そうなので,手持ちの...
#ref(yujiLittleWire.png,,10%)
Jumperなしで3.3VターゲットボードからVTGが供給される場合の...
USBコネクターがTypeBなんでちょっと大きいかな ;)
P.S. ATtiny85Vでも動作した。なんで :-o
** ソフトウェア
Little Wireのメンテナンスは,[[こちら>https://github.com/...
Little Wireを構成するソフトウェアは以下になる。~
- ATtiny85で使用できるbootloader。~
- USBtinyISP互換のfirmware。~
*** ATtiny用bootloader
ATtiny用のbootloaderとして[[micronucleus bootloader>https...
ATtiny85でのmicronucleus bootloaderは,CPUのクロックを内...
USBtinyISP互換機能の場合,ATtiny85全てのpinをI/Oポートと...
ATtinyシリーズの8pinの製品はResetとISP機能の両立は出来な...
なので,このままではUSBtinyISPのfirmwareの更新が難儀にな...
micronucleus bootloaderを使うと,RSTDISBL=0設定によりISP...
この理由でLittle Wireではmicronucleus bootloaderを使用し...
- 最新のmicronucleus bootloaderを書き込む~
micronucleus bootloaderのプロジェクトをダウンロードする。~
> md attiny85
> git clone https://github.com/micronucleus/micronucleus...
micronucleus\firmware\releasesにビルド済みのhexファイルが...
そのhexファイルをATtiny85に書き込む。~
> cd micronucleus\firmware\releases
カスタマイズしたいなどでビルドしたい場合,作者は''avr-gcc...
他のAVR Writerとavrdudeを使って,micronucleus bootloader...
> avrdude -c usbasp -p t85 -U flash:w:t85_default.hex -U...
''RSTDISBL=0にFuseビットを設定しているので,以後はISPタイ...
*** micronucleus用のDevice Driverのインストール
ATtiny85にmicronucleus bootloaderが書き込めたら,PCのUSB...
最初は不明のデバイスになるので,Windows用のデバイスドライ...
[[Zadig>https://zadig.akeo.ie/]]ツールを使ってデバイスド...
ZadigのサイトのDownloadにある[[最新の実行ファイル>https:/...
ダウンロードしたexeファイルをダブルクリックして起動する。~
unknown device1を選択して,名前を''Micronucleus''に編集し...
これでmicronucleus bootloaderが書き込まれたLittle WireがU...
VID: 0x16D0, PID: 0x0753
*** Little Wireのfirmwareのインストール
Little Wireの互換USBtinyISP機能を持った[[firmware>http://...
[[こちら>https://github.com/littlewire/Little-Wire.git]]...
カスタマイズしたいなどでビルドしたい場合,作者は''avr-gcc...
ATtiny85にLittle Wireのfirmwareを書き込むには,[[micronuc...
以下の手順で行う。~
- ''Little WireをPCのUSBとの接続をはずす''
- micronucleusコマンドを使用する。~
> micronucleus --run littlewire_v13.hex
Please plug in the device ...
と,メッセージが表示されたら''Little WireをPCのUSBに接続...
- 接続して数秒立つと,USBtinyISPと互換のfirmwareがATtiny8...
- USBtinyISP互換のLittle Wireが動き出す。~
うまく行ったら,Little WireをUSBコネクターから抜いて再度...
- USBコネクターにLittle Wireが挿入されるとLittle Wireの電...
- micronucleus bootloaderが起動する。~
6秒間,micronucleusコマンドを待つ。~
ユーザープログラム等の書き込み要求コマンドなど何もなけれ...
- Little Wireのプログラムが起動。~
- Windowsマシンのデバイスマネージャーで確認。~
USBtinyISPのデバイスドライバーをインストールしていない場...
USBtinyISPのデバイスドライバーをインストール済みの場合:U...
*** ATtiny85の初期化
FuseビットのRSTDISBL=0になっているのをRSTDISBL=1に戻すに...
STK500などの高電圧シリアルプログラミングが使用できるAVR W...
RSTDISBL=1に初期化出来たら,ISPタイプのAVR Writerが使用で...
* USBtinyISPの使い方
Windowsマシンで,互換品USBtinyISP v2.0や自作したLittle Wi...
** デバイスドライバーの用意
Linux,MacOS Xマシンの場合は,デフォルトでデバイスドライ...
Windowsマシンで使用する場合は,汎用USBデバイスドライバー...
最初にWindowsマシンにUSBtinyISPをUSBポートに刺すと,
VID: 0x1781, PID: 0x0C9F
デバイスマネージャーで確認すると,!マークの不明のデバイ...
今回は[[Adafruitからダウンロード出来るデバイスドライバー>...
ZadigのサイトのDownloadにある[[最新の実行ファイル>https:/...
ダウンロードしたexeファイルをダブルクリックして起動する。~
USBtinyISPを選択して,デバイスドライバーを''libusbk''を選...
これでUSBtinyISPのデバイスドライバーとして汎用USBデバイス...
再度デバイスマネージャーで確認してデバイスドライバーがロ...
** ターゲットボードのISPコネクターと接続
AVR Writerとして使用する場合は,''10pin ISPコネクター''か...
|USBtinyISP&br;10pin|USBtinyISP&br;6pin|ターゲットボード&...
|9 MISO |1 MISO |1 MISO ...
|2 VCC |2 VCC |2 VCC ...
|7 SCK |3 SCK |3 SCK ...
|1 MOSI |4 MOSI |4 MOSI ...
|5 RST |5 RST |5 RST ...
|4,6,8,10 GND |6 GND |6 GND ...
** avrdudeで使用する
バージョン5.5以降のavrdudeではUSBtinyISPに対応していて,a...
> avrdude -c usbtiny -p atmega328 -P usb -U flash:w:ATme...
とか
> avrdude -c usbtiny -p m168p -P usb -t
とか,動作した。~
*** Arduino IDEで使用する
Arduino IDEはavrdudeを使用しているので,外部書き込み器と...
Arduino IDEでUSBtinyISPを選択できるように,''%LocalAppDat...
usbtinyisp.name=USBtinyISP
usbtinyisp.protocol=usbtiny
usbtinyisp.program.tool=avrdude
usbtinyisp.program.tool.default=avrdude
usbtinyisp.program.extra_params=
これでArduino IDEで,ツール>書込装置で''USBtinyISP''を選...
終了行:
* USBtinyISP
[[USBtinyISP>http://www.ladyada.net/make/usbtinyisp/]]は...
Windows,Linux,MacOSXなどのマルチプラットフォームで使用...
Dick Streefland氏の[[USBtinyプロジェクト>https://dicks.ho...
このUSBtinyISPを[[AdafruitがKit製品化>https://learn.adafr...
派生バージョンも多く作成されていて,Julian Schuler氏の[[U...
ihsan Kehribar氏は''ATtiny85''を使用して,さらに小型の[[L...
USBtinyISPは部品点数も少なく自作も安価に容易にでき,書き...
しかし残念ながら64KB以上のFlash ROMを搭載している''Atmega...
* AdafruitのUSBtinyISP v2.0
[[lady ada氏>http://www.ladyada.net/make/usbtinyisp/]]に...
USBコントローラーは使わず,[[V-USB:https://www.obdev.at/p...
このUSBtinyISP v2.0を[[AdafruitがKit製品化>https://learn....
#ref(usbtinyisp_ada.png,,60%)
また,[[AmazonでもAdafruit版の互換品>https://amzn.to/40cL...
5Vを3.3VにするDC-DCコンバーターは実装されていないので,タ...
USBからの5Vをターゲットボードに供給するかしないかの切り替...
セルフパワーの3.3Vターゲットボードでも問題なく使用できる。~
#ref(usbtinyisp2sch.png)
** Adafruit USBtinyISP v2.0のfirmware
AdafruitのUSBtinyISP v2.0をUSB接続のAVR Writerとして機能...
[[Adafruit>https://learn.adafruit.com/usbtinyisp/download...
USBtinyISPのfirmwareだけでなく,赤外線リモコン受信機にす...
''自作した場合はfirmwareを書き込むため,何らかの別のAVR W...
spiディレクトリにあるコンパイル済みの''main.hex''をATtiny...
> avrdude -c usbasp -p t2313 -U flash:w:main.hex U hfuse...
** AdafruitのUSBtinyISP v2.0の設定
AdafruitのUSBtinyISP v2.0では,JP1がジャンパーされるとUSB...
3.3VにするDC-DCコンバーター回路は実装されていないので,タ...
|Jumper|説明|h
|JP1|ターゲットボードへの給電&br;Jumperなし:給電なし&br;J...
ターゲットボードに合わせてJP1を設定する。~
** 互換品USBtinyISP v2.0の問題
Amazonで販売されている[[Adafruit USBtinyISP v2.0の互換品>...
#ref(usbtinyisp.png,,50%)
この互換品USBtinyISP v2.0は,bufferチップが本来74AHC125が...
74HC125は電源電圧以上の電圧の入力を形容しないので,Jumper...
3.3Vターゲットボードに使う場合は,bufferチップを''74AHC12...
* Julian Schuler氏のUSBtinyISP
Julian Schuler氏は,CPUに14pinのATtiny24Aを使用して[[小型...
3.3VDC-DCコンバーターを実装し,500mA/5Vや300mA/3.3Vを切り...
またセルフ3.3Vターゲットボードであっても,問題なく使用で...
#ref(USBtinyISP_Sch.png,,50%)
** firmware
[[こちら>https://github.com/julianschuler/USBtinyISP]]の...
Julian Schuler氏のUSBtinyISPを自作した場合は,ビルド済み...
> avrdude -c usbasp -p t24 -P usb -U flash:w:main.hex -U...
** Julian Schuler氏のUSBtinyISPの設定
|DIPSW|説明|h
|1 |ターゲットボードへの給電&br;ON=給電&br;OFF=非給電|
|2 |供給電圧切替&br;ON=5V&br;OFF=3.3V|
* Little Wire
&ref(littlewire.png,,30%,around);[[Little Wire>https://li...
#clear
#ref(Little-Wire_sch.png,,20%)
ATtiny85は端子がたった8pinしか無いので,12MHzのX'Talを使...
** 自作してみた。
上記の回路図のように1時間ぐらいで出来そうなので,手持ちの...
#ref(yujiLittleWire.png,,10%)
Jumperなしで3.3VターゲットボードからVTGが供給される場合の...
USBコネクターがTypeBなんでちょっと大きいかな ;)
P.S. ATtiny85Vでも動作した。なんで :-o
** ソフトウェア
Little Wireのメンテナンスは,[[こちら>https://github.com/...
Little Wireを構成するソフトウェアは以下になる。~
- ATtiny85で使用できるbootloader。~
- USBtinyISP互換のfirmware。~
*** ATtiny用bootloader
ATtiny用のbootloaderとして[[micronucleus bootloader>https...
ATtiny85でのmicronucleus bootloaderは,CPUのクロックを内...
USBtinyISP互換機能の場合,ATtiny85全てのpinをI/Oポートと...
ATtinyシリーズの8pinの製品はResetとISP機能の両立は出来な...
なので,このままではUSBtinyISPのfirmwareの更新が難儀にな...
micronucleus bootloaderを使うと,RSTDISBL=0設定によりISP...
この理由でLittle Wireではmicronucleus bootloaderを使用し...
- 最新のmicronucleus bootloaderを書き込む~
micronucleus bootloaderのプロジェクトをダウンロードする。~
> md attiny85
> git clone https://github.com/micronucleus/micronucleus...
micronucleus\firmware\releasesにビルド済みのhexファイルが...
そのhexファイルをATtiny85に書き込む。~
> cd micronucleus\firmware\releases
カスタマイズしたいなどでビルドしたい場合,作者は''avr-gcc...
他のAVR Writerとavrdudeを使って,micronucleus bootloader...
> avrdude -c usbasp -p t85 -U flash:w:t85_default.hex -U...
''RSTDISBL=0にFuseビットを設定しているので,以後はISPタイ...
*** micronucleus用のDevice Driverのインストール
ATtiny85にmicronucleus bootloaderが書き込めたら,PCのUSB...
最初は不明のデバイスになるので,Windows用のデバイスドライ...
[[Zadig>https://zadig.akeo.ie/]]ツールを使ってデバイスド...
ZadigのサイトのDownloadにある[[最新の実行ファイル>https:/...
ダウンロードしたexeファイルをダブルクリックして起動する。~
unknown device1を選択して,名前を''Micronucleus''に編集し...
これでmicronucleus bootloaderが書き込まれたLittle WireがU...
VID: 0x16D0, PID: 0x0753
*** Little Wireのfirmwareのインストール
Little Wireの互換USBtinyISP機能を持った[[firmware>http://...
[[こちら>https://github.com/littlewire/Little-Wire.git]]...
カスタマイズしたいなどでビルドしたい場合,作者は''avr-gcc...
ATtiny85にLittle Wireのfirmwareを書き込むには,[[micronuc...
以下の手順で行う。~
- ''Little WireをPCのUSBとの接続をはずす''
- micronucleusコマンドを使用する。~
> micronucleus --run littlewire_v13.hex
Please plug in the device ...
と,メッセージが表示されたら''Little WireをPCのUSBに接続...
- 接続して数秒立つと,USBtinyISPと互換のfirmwareがATtiny8...
- USBtinyISP互換のLittle Wireが動き出す。~
うまく行ったら,Little WireをUSBコネクターから抜いて再度...
- USBコネクターにLittle Wireが挿入されるとLittle Wireの電...
- micronucleus bootloaderが起動する。~
6秒間,micronucleusコマンドを待つ。~
ユーザープログラム等の書き込み要求コマンドなど何もなけれ...
- Little Wireのプログラムが起動。~
- Windowsマシンのデバイスマネージャーで確認。~
USBtinyISPのデバイスドライバーをインストールしていない場...
USBtinyISPのデバイスドライバーをインストール済みの場合:U...
*** ATtiny85の初期化
FuseビットのRSTDISBL=0になっているのをRSTDISBL=1に戻すに...
STK500などの高電圧シリアルプログラミングが使用できるAVR W...
RSTDISBL=1に初期化出来たら,ISPタイプのAVR Writerが使用で...
* USBtinyISPの使い方
Windowsマシンで,互換品USBtinyISP v2.0や自作したLittle Wi...
** デバイスドライバーの用意
Linux,MacOS Xマシンの場合は,デフォルトでデバイスドライ...
Windowsマシンで使用する場合は,汎用USBデバイスドライバー...
最初にWindowsマシンにUSBtinyISPをUSBポートに刺すと,
VID: 0x1781, PID: 0x0C9F
デバイスマネージャーで確認すると,!マークの不明のデバイ...
今回は[[Adafruitからダウンロード出来るデバイスドライバー>...
ZadigのサイトのDownloadにある[[最新の実行ファイル>https:/...
ダウンロードしたexeファイルをダブルクリックして起動する。~
USBtinyISPを選択して,デバイスドライバーを''libusbk''を選...
これでUSBtinyISPのデバイスドライバーとして汎用USBデバイス...
再度デバイスマネージャーで確認してデバイスドライバーがロ...
** ターゲットボードのISPコネクターと接続
AVR Writerとして使用する場合は,''10pin ISPコネクター''か...
|USBtinyISP&br;10pin|USBtinyISP&br;6pin|ターゲットボード&...
|9 MISO |1 MISO |1 MISO ...
|2 VCC |2 VCC |2 VCC ...
|7 SCK |3 SCK |3 SCK ...
|1 MOSI |4 MOSI |4 MOSI ...
|5 RST |5 RST |5 RST ...
|4,6,8,10 GND |6 GND |6 GND ...
** avrdudeで使用する
バージョン5.5以降のavrdudeではUSBtinyISPに対応していて,a...
> avrdude -c usbtiny -p atmega328 -P usb -U flash:w:ATme...
とか
> avrdude -c usbtiny -p m168p -P usb -t
とか,動作した。~
*** Arduino IDEで使用する
Arduino IDEはavrdudeを使用しているので,外部書き込み器と...
Arduino IDEでUSBtinyISPを選択できるように,''%LocalAppDat...
usbtinyisp.name=USBtinyISP
usbtinyisp.protocol=usbtiny
usbtinyisp.program.tool=avrdude
usbtinyisp.program.tool.default=avrdude
usbtinyisp.program.extra_params=
これでArduino IDEで,ツール>書込装置で''USBtinyISP''を選...
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ