How to make

Arduino Leonardo Rev.3 / Micro で AVRISP mkII クローンを作る

日本語 / [English]

1.はじめに

Arduino Leonardo/Microにちょっとした改造を施せばAVRISP mkII互換機として働かせISP書き込みTPI書き込みができるようになります。以下に,Arduino Leonardo/MicroをAVRISP mkIIクローンにする製作記事を掲載します。

このハックは「Arduino IDE配下のATtiny他の開発環境」で使用することを目的とし
“AVRDUDE ver6.2″で動作確認をしています。
“Atmel Studio”での使用については対象外で全くテストしていません。

2.ちょっとした改造の概要

  1. Arduino Leonardo/MicroのATmega32U4にAVRISP-mak2クローンのファームウェアを書き込んでAVRライタとして働かせます。
  2. 通常のAVRの書込みに必要なRESET,SCK,MISO,MOSIの信号はD8とICSPピンから引き出すことができます。
  3. ATtiny10の書込みに必要なRESET,TPIDATA, TPICLKの信号をD8, D0,D1,TX-LEDから引き出します。

3.用意するもの

  1. Arduino Leonardo Rev.3 or 互換ボード もしくは  Arduino Micro or 互換ボード
  2. Windowsパソコン (Mac / Linux のバーチャルマシン上で動くWindowsでも可)
  3. AVRライタまたはArduinoISPスケッチが動いているArduino UNOなど
  4. Flipツール
    Arduino Leonardo/MicroにDFUでプログラムを書き込むツールです。Atmel社のFlipのページ(下記URL)からダウンロードしてインストールします。
    http://www.atmel.com/tools/FLIP.aspx
  5. DFUローダ詰め合わせ
    megaUSB_DFU_Bootloaders_2.zip
    解凍するとmegaUSB_DFU_Bootloaders_2フォルダが生成されます。
  6. AVRISP mkII クローンファームウエア
    AVRISP-MKII_ATmega32u4.zip
    解凍するとAVRISP-MKII_ATmega32u4.hexが生成されます。

4.ジャンパー線の接続

  1. 拡大図赤矢印で示したビアと空き端子を細いUEW線などでハンダ付け接続します。
    図はクリックすると拡大表示されます。
  2. 当該のビアはATmega32U4のPD5とつながっています。
  3. この空き端子からTPIモード時にTPICLK信号を取り出します。
Arduino Leonardo
Arduino Micro
 
拡大図赤矢印で示したビアとIOREFの隣の空き端子を結線します。  拡大図赤矢印で示したビアとA5の隣の空き端子を結線します。

5.DFUローダの書き込みと起動

  1. まず,Arduino Leonardo/MicroにUSBコネクタをつながない状態で作業を行います。
  2. AVRライタをArduino Leonardo/Microに接続し,AVRライタソフトを起動します。
    AVRライタやソフトは多種多様で個別説明できませんので以下に必須操作の要点を述べます。
  3. Arduino Leonardoの全メモリを消去します。
  4. 下のようにヒューズビットを設定します。
    lowFuse  0xFF     , highFuse 0xD9      ,extendedFuse 0xC3
    Fuseの設定を誤るとArduino Leonardo/Microがゴミと化すので要注意
  5. megaUSB_DFU_Bootloaders_2.zipを展開したフォルダの中の
    ATMega32U4-usbdevice_dfu-1_0_0.hexを書き込みます。
  6. LockBit 0xEFを設定します。
  7. AVRライタを切り離します。
  8. ここから,Arduino Leonardo/MicroにUSBコネクタを挿しパソコンと接続します。
  9. USBデバイスATMEL ATm32U4DFU が現れます。
  10. デバイスドライバが要求される場合はC:\Program Files\Atmel\Flip 3.4.7\usb\を指定してドライバをインストールします。

6.AVRISP mkII クローンファームウエアを書込み

  1. Flipツールを起動してAVRISP mkII クローンファームウエアを書込みます。
    図2〜5はATmega16u2に他のファームウエアを書き込む様子です。

    1. ATmega32U4を選択 図2
    2. USB接続でオープンする 図3
    3. AVRISP-MKII_ATmega32u4.hexをロードする 図4
    4. 書込み 図5
    5. 書き込みが終了するとUSBデバイス ATMEL AVRISP mkII が出現することがあります。ドライバのインストールなどは次のステップで行います。

      図2

      図3

      図4

      図5

7.AVRISP mkIIの認識

  1. USBケーブルを一旦外して,再度つなぎます。
  2. 再接続するとUSBデバイスATMEL AVRISP mkII が出現します。Arduio IDEと連携させて用いるには汎用USBドライバlibsubをインストールします。
    libusbのインストール方法はOS環境等によってさまざまに適する方法がありますので libusb AVRISP 等のキーワードでWeb検索してご自分のOS環境に適した方法でインストールします。
  3. 注意:リセットスイッチを押すと,どんなときでもArduino Leonardo/Microは即座にDFUモードに遷移してUSBデバイスATMEL ATm32U4DFUになります。AVRにプログラムやヒューズビット書き込み中にリセットスイッチ押すと思わぬ副作用を生じることがありますので,AVRISPmkIIとして動かしているときはリセットスイッチを押さないのが鉄則です

8.Arduino Leonardo AVRISP mkII 信号線

TPIモード ISPモード ISP / TPI

9.活用

ATMEL AVRISP mkIIとして正しく動けば次によりArduino IDEから色々なAVRデバイスを利用することができます。

10.元ににもどす方法

  1. AVRライタをArduino Leonardo/Microに接続します。
  2. Arduino IDEを起動します。
  3. Leonardo / Micro のブートローダの書き込みを行います。

以上で初期状態にもどります。

Copyright © kosakalab All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.