lubuntuでavrdudessでUSBaspを使って実際にAVRにアクセスする事ができました。
avrdudess.exeの居るフォルダーに移り
$sudo mono avrdudess.exe と打ち込むとavrdudessの窓が開きます。
avrdudessはwin7環境でもATtiny2313へのアクセスはNGでATmega8のアクセスはOKです。lubuntu環境で最初ATtiny2313をつないでやっていたのですが、どうしてもNGな為、win7で同じ事をやってみましたtが、やはりNGです。確か以前は動いたはず?
私の思い違いで、その時もターゲットはATmega8でやって居たのでした。どうしてATtiny2313ではNGなのか?は分かりません。
とりあえず今回の目的はlubuntu環境でavrdudessが動くかどうか?です。
結果は、とりあえず動きましたと言うことです。
avrdudessは
http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/にある avrdudess_2014_0102.zipをDLします。これを解凍するとその中にavrdude.exeがあります。
先に apt-get install avrdude でインストールした avrdude.exeとavrdudessにある avrdude.exeの関係はどうなって居るんでしょうね?
ちなみにavrdudess内にあるavrdude.exeをrenameしてもちゃんと動く様です。
2014/5/7(W)
win7環境でavrdudess_20140508でATtiny2313への書き込みをやって見ました。BIT Clockを93.75KHzまで下げると動作しました。
avrdudess_20140320でも93.75KHzに落とすとアクセスできます。(ATmega8は750KHで動作します。)
CPUを問わない形式の実行ファイルが生成されます。
一方、C言語で書かれている avrdude.exeは、同一のCPU用の実行ファイル
でも、そのまま実行させることはできません。
Windows用のavrdude.exeは実行の対象ではなく、Ubuntu用にインストール
されたものが動作しているのだと思います。ATtiny2313で不安定なのは
最新版のavrdudeが不完全なのでしょう。
なお、Windows環境での問題点を改善した avrdudessを↓においています。
http://www-ice.yamagata-cit.ac.jp/forum/viewtopic.php?t=1306&start=28
ATtiny2313の問題も、YCIT版のavrdude.exeを呼び出すことで解決している
はずでので、お試しください。
YCIT版のavrdude-GUIも実行可能なはずですが、Windows環境固有の記述が多数
あり、大幅な修正が必要です。
avrdudessのコードを読んでみました。avrdudessでも、OSにより動作を変えている
部分があります。
その結果、Linux環境では、Windows用のavrdude.exeが存在していても、これを
実行することはなく、システムに組み込まれた avrdudeを呼び出します。
>その結果、Linux環境では、Windows用のavrdude.exeが存在していても、これを実行することはなく、システムに組み込まれた avrdudeを呼び出します。
どうも解説有難うございます。了解です。C、C#の特質(特性)については全く無知ですので、なるほどと納得できました。
Attiny2313についてはチェックしてみます。
> (ATmega8は750KHで動作します。)
SPIクロックレートは、動作クロックの1/4未満を指定します。
ATtiny2313のFUSE設定を教えて下さい。
ATtiny2313のfuseは FL=62、FH=DF です。
FL=E2にした場合はCLK=750KHzで動作しました。
>SPIクロックレートは、動作クロックの1/4未満を指定します。
この制約は知りませんでした。
500kHzで動作するわけです。
そのため125kHzを超えるBit Clockは使用できません。USBasp
では、Bit Clock では93.75kHz未満を指定する必要があります。
このような指定を、わかりやすく試行錯誤できるのはGUIツール
の利点です。
原因はわかりましたので、Lubuntuのavrdudessでも動作する
はずです。
お試しください。