ubuntu_top

※この作業は,avrispmkII を必要とします。

どうも、らいです。

今回は、秋葉原のaitendoで買った、AVRマイコン用のUSBISP(ICに書き込むための道具)をwindows環境以外で使ってみることにしました。

ちなみに、ボクがlinux(以下ubuntu)を使っている理由は

・動作が軽い気がする。
 
・無料(これ重要!)

aitendoのセールで600円で売られていたので即買しました。 
↓これ    link :http://www.aitendo.com/product/9558

USB-ISP320-1

windows7で動作したんですが、どうもubuntuでは動作しないというか認識しないw

そこでUSBISPの内部のファームウェアを書き換えることにしました。

この記事を参考にしました。 
http://www.sciencetronics.com/greenphotons/?p=938  ①
(hacking an AVR Programmer)

ケースを取り外し、本体裏面のUPジャンパーをショートさせました。

51


 
こんな感じ

①の記事によるとジャンパーをショートさせることに寄って セルフプログラミングが出来るようになるみたい。

ボクの認識では、セルフプログラミングは、マイコンのコアの部分まで書き超えることが出来る…みたいな。

それ故にファームウェアの書き換えも可能みたいな認識でいます。

ここからが問題です。 書き換えを行うためには、別に書き込むための道具が必要になります。。。

つまりこの作業は、上記のUSBISPだけでは、出来ないということです。

別のUSBISPを自作してwindowsに上記USBISPを接続後、自作USBISPに書き込むプロセスが必要かと思われます。  
今回は、AVRISPmkIIを使うことにしました。 ※AVRISPmkII はubuntuで認識されます。

14

こんな感じで接続します。 (左:USBISP(たーげっと)  右:AVRISPmkII )
※USBISPは赤色で点灯していると思います 青色は書き換えた後に常時点灯に切り替わります。

AVRISPmkIIは、ターゲットへ給電が出来ないのでUSBISPをUSBポートに接続させます。

接続方法として

USBISP VCC GND MISO MOSI RES SCK
  ↓  ↓   ↓   ↓  ↓  ↓
AVRISPmkII VCC GND MISO MOSI RES SCK

こんな感じで接続しました。 そのままです。

ubuntu(linux)ないでの操作に入ります。

http://www.sciencetronics.com/greenphotons/?p=938 のサイトの一番したにある

Download ZIP archive: 20130212_mega8_usbisp” をダウンロードします。

適当な場所で展開します。

cd コマンドで展開したディレクトリまで移動します。 "20130212_mega8_usbisp/default/"

lsコマンドで"20130212_mega8_usbisp.hex"があることの確認をします。

lsusbコマンドで接続したAVRISPmkIIが認識されていることを確認します。
※認識されていると "Atmel AVRISPmkII"とか出てきた気がします 曖昧

avrdudeコマンドでターゲット(USBISP)に書き込むわけなのですが…最初からavrdudeが入っているわけではないので、avrdudeをパソコンにインストールします。
sudo apt-get install avrdude  でインストールできます。

avrdudeコマンドを使ってターゲットに書き込みます。

この記事を参考にしました。 http://c2nprds.com/122/

まずは、Fusebitの書き込み hfuse lfuse 両方とも書き込みました。
この記事を参考にして http://www.sciencetronics.com/greenphotons/?p=938
hfude = 0x9C lfuse = 0xEF
sudo avrdude -c avrispmkII -P usb -b 19200 -p m8 -U hfuse:w:0x9C:m
※hfuseの書き込みが終わったら
sudo avrdude -c avrispmkII -P usb -b 19200 -p m8 -U lfuse:w:0xEF:m
※lfuseの書き込みをします。

sudo avrdude -c AVRISPmkII -P usb -p m8 -U hfuse:r:-:h  
sudo avrdude -c AVRISPmkII -P usb -p m8 -U lfuse:r:-:h   

上のコマンドを実行するとカレントディレクトリにhfuseかlhuseの値が入ったファイルが作成されます。
ファイルは上書きされてしまうので コマンドを一回実行したら確認してください。

最後にファームウェアの書き換えを実行する。

avrdude -c avrispmkII -P usb -b 19200 -p m8 -U flash:w:20130212_mega8_usbisp.hex
 
書き換えが完了したら…
AVRISPmkIIの接続を解除して USBISPのセルフプログラミング用ジャンバを撤去した後に再度USBISPをubuntuに接続するとUSBISPが青色で点灯します。 

lsusbコマンドで確認してみると
lsusb

ubuntu側でもAVR用の書き込み機として認識されていることが分かります。

30

ちなみに、Windows側でも認識されていることがわかります。
※ドライバを当ててないので !マークが付いていますw


おまけ

ファームウェアを変更したUSBISPの動作確認として別のUSBISPを用意して上記と同じ動作をやってみました。  ※AVRISPmkIIを使わずにファームウェアの書き換えを行う。

52

 
28
成功しました。