Comments
Description
Transcript
Arduinoブートローダーの書き込み
AVRISP mk-IIを使って AVRマイコンに Arduinoブートローダを書き込む方法 [参考資料] ★ブートローダとは ブートローダとは、マイコン起動時に最初に実⾏されるプログラムでArduinoとして動かすには必要なプログラムです。 Arduinoは起 動時にブートローダを起動し、USB(シリアル通信)で書き込みができるようにプログラムされています。 そのため、Arduinoとして 扱う際は、このブートローダが書き込まれている必要があります。 当社で販売しているAVRマイコンは、従来の直接プログラムをマイコンに書き込む事を想定してます。 書き込む際も専⽤の機器が必 要であり、マイコンもブランク(真っ⽩)の状態で販売しております。 ★AVRマイコンにブートローダを書き込むのに必要な物 ・AVRマイコン : ATMEGA328P-PU [I-03142] ・書込みアダプタ : AVRISP mk-II ATAVRISP2 [M-02582] ・書込み基板︓Arduino Uno Rev3[M-07385] ※ ※Arduino Uno Rev3に同封されていますATmega328Pは既にブートローダが書込まれている為、そのままご利⽤ が可能です。 バックアップ⽤や、Arduinoを⼆台作ってみたい際に利⽤します。 本来であればブランクの ATmega328Pより必要な端⼦を引き出し、書込みアダプタに接続しますが、 Arduino Unoの基板にはAVRを書き 込む為の回路が既に組み込まれているため、 説明の簡易化の為に使⽤します。 ⼀旦同封されています ATmega328Pを取り外し、 ブランクのATmega328Pを取り付けて書込みを⾏う事が出来ます。 ※他の書き込み⽅法も御座いますが、本資料は⼀番簡単な組み合わせでご説明しております。 ★ATMEL Studioの書込み環境を整える 1. インターネットより、 AVR開発環境であるATMEL Studio をダウンロードします。 http://www.atmel.com/ja/jp/tools/ATMELSTUDIO.aspx リンク先のページに⾏き、写真の箇所をクリックします。 (時期によってはバージョンが変わる場合が御座います) 2.メールアドレス及びパスワード、地域を設定します。 3.図の赤い箇所からソフトウェアをダウンロードします。 4.ダウンロード後、ダウンロードした物を実行します。 5.実行後、図のような画面になり、赤枠の箇所をクリックし Nextを押します。 6.その後、デフォルトのままで良いので Nextを数回押します。 7.インストールが完了後、再起動を行います。 Atmel Studioの仕様上、必ず再起動を行ってください。 ★ATmega328Pにブートローダを書込む 1.ブランクの ATmega328Pを乗せ換え、 AruinoUnoと ATAVRISP2にUSBケーブルを接続します。 写真の様にUSBケーブルを接続し、ATAVRISP2のフラットケーブルも写真同様に接続します。 フラットケーブルには 向きがありますので、写真と同じ⽅向(特に⾚い線が左側)に来るように接続します。 2.Atmel Studioを起動します。 デスクトップにてんとう⾍のアイコンがあればそれをダブルクリックします。 ⾒つからない際は、スタートメニューにAtmel Studioが登録されているので検索します。 3.右上の Tootlsを選択し、一番上の [Device Programming]をクリックします。 4.上部を図の様に設定します。 Tools: USBを再度確認し、↓マークをクリックしAVRISP mkIIを選択します。 Device: 今回書き込むのATmega328Pを選択します。 Interface: ISPモードで書き込みます。 Apply: 設定の確認を行います。変更をしたら再度クリックします。 Device signature: Readボタンを押し、接続されているATmegaのDviceIDを表示します。 Target Voltage: Readボタンを押すとターゲットの電源電圧を計測できます。 ⼿順としては、 ①ToolでAVRISP mkIIを選択 ②DeviceをATmega328Pに選択 ③Applyをクリックし設定を反映 ④Decice signatureのReadのボタンを押し、デバイスのIDを読み出す。 ここまでエラーが無ければATmega328Pの書き込み準備が整った事になります。 ※ここでエラーが出た際は、ATmega328Pとの接続に何かしら問題がある場合があります。 5.Fues(ヒューズ )ビットを書き込みます。 AVRにはヒューズビットと呼ばれる特殊なビットがあり、 設定を間違えて書き込んでしまいますと、書き換えが出来なくな る場合があります。 図の状態をそのまま真似をして変更してください。 再度、変更箇所に問題ないか確認し、 ⼤丈夫であれは右下のProglamをクリックしマイコンに書き込みます。 6.Lock Bitsを変更します。 こちらも、ヒューズビット同様に間違った値を書き込むと変更出来なくなる場合があります。 Lock Bitsでは、BLB1を変更しています。 再度、変更箇所に問題ないか確認し、 ⼤丈夫であれは右下のProglamをクリックしマイコンに書き込みます。 7.Memoriesを選択してブートローダを書き込みます。 Flashの項⽬より[...]をクリックし、ブートローダのバイナリファイルを選択します。 ファイルのアドレスは、 "Arduinoが保存されているフォルダ"\hardware\arduino\avr\bootloaders\optiboot の中にある"optiboot_atmega328.hex" がブートローダになります。 最後に右下のProglamをクリックしマイコンに書き込みます。 8.最下段の log画面に Verifying Flash...OK と表示されていれば完成です。 これで市販されているAVRマイコンをArduinoとして使⽤が可能です。 試しに、Arduinoの開発環境にて、Arduino Unoを選択し、Blinkを書き込みます。 書込みが無事に完了するかと思います。 これでブランクのATmega328PをArduino化する⽅法は以上です。 初版 : 2016/04/18 Y.kitagami