2011年2月8日火曜日

Arduino ISPは、DTRリセットを切れって書いてあった。

DTRリセットを切れってArduinoのパターンカットしろって事か、半田のランドが有るから切っても繋げるが・・
一瞬考えたが、(ちなみに、UNOは何故か動いてる)とするとAE-ATmegaなら、ジャンパピン抜けばいいだけじゃん・・Rx/Tx/Resetって出てる3個のジャンパの内の、Resetだけ。そうすればOKなんだね。

実際ISP機能用に、ISP端子を改造しちゃった、うちのejackinoは、mega8u2を乗せて以来何もしなくても書けてるが・・今度やるときは、外してみよう、その方が完璧なんだろう。

AE-ATmegaやejackinoの設計者がこの機能を考慮してたとは思えないが(だったらRESETの切り替えスイッチも付けるだろう)割と簡単に、ISPになるって言う事か・・

今は、FTDIで書けばいいと言う、鶏と卵の問題も解消してるから別にいいが、数秒で、ArduinoがISPになり、ISPコネクタも付いてるなら便利だけどね。スイッチ一個で双方向になるなら、結構いいデザインだろうな。何かに反映させるかな。

実際LUFAのAVRISP Mk2互換のサンプルコードは入ってて、やっとその検証をしたら、必要なのは、PB4だけに近かった。(LEDとか付けるなら、他のPBラインも)

同一電位ならば、(つまり、双方とも5V)mega32u2間に、max3002は不要だそうで・・よく読んでると、8KBモデルでも、最小限のISPなら動くような事が書いて有った。

Arduino UNO SMDにもPBラインがパッドとして出てるのは、その辺も意識してるんだろうと思う。
ArduinoもFTDIのBitbangに代わる手法を考えてもいるのだろう。それが出てくるなら、mega8u2ユニットは、そのまんま500円のISPにもなってしまうはずだ。AVR ISP MK2互換なら、普通に使うレベルでは、秋月で、3300円で売ってる本物と一緒かも知れない。

なんだ期せずしてもう一個ISPが出来かかってるんだなーーと思った。

誰でも考えつきそうな事なので、ググればもう有るのかも知れない。

なんかbenito Boardってのが出て来た、シリアルとISPを切り替え出来るらしいね。

MCUを、AT90usb82に変えてMakeしてみた

Size after:
AVR Memory Usage
----------------
Device: at90usb82

Program:    3946 bytes (48.2% Full)
(.text + .data + .bootloader)

Data:        321 bytes (62.7% Full)
(.data + .bss + .noinit)

これって入るって事じゃない?mega8u2の、ユーザーエリアは、4096Byteだから、足りてるね。

容量といい、これは、Arduino UNOに乗ってる、ATmega8u2をISPに変えようとして・・端子が足らなくて失敗したに近いかも・・最初から有る、PB1-PB3を何で使わなかったんだろう??ISP端子と、シリアルを一個のコネクタに収めようとした・・としても、相手側が違うから、刺しっぱなしに出来ないし。

ちょっと疑問に思うが、ISPには即なりそうだ。(Avrdudeはどうなってるんだ?)

動画を見て解ったが・・
シリアルコンバーターと、ISPをかねてる・・って事だね。

やっぱし、この配列だと、シリアルに使う時困ると思うけど・・
ソース弄ってピンアサインを割と普通のにして、ISPコネクタと、シリアルコネクタを独立させて、DFU用の、GUIコマンドの入ったアプリでも、Realbasicか、VBで書けばOKかもね。

ATmega8u2に MCUを変えたら、コンパイル出来なかったけど、AT90usb82は、mega8u2の別名位に考えるといい。

とりあえず・・mega8u2の活用法のもう一個くらいに考えよう。

一個解ったのはいわゆるDTR信号は移動できる・・うーんあれって、コード変更すればOKだったのかもね。でも・・誰でもMake出来る訳でも無いし・・とちょっと頭を悩ます。

0 件のコメント:

コメントを投稿