Arduino入門:ブートローダーの書き込み

Atmel社製のAVRマイコンにArduinoのブートローダーを書き込んでArduino化する方法について解説します。

ブートローダーを書き込んでArduino互換機を作製

Arduinoは、ハードウエアやソフトウエアに関する情報が開示されていますので、市販のArduinoボートやサードパーティーの互換ボードだけでなく、互換機を自分で作製する事も可能です。この場合、ターゲットのボードに使用するAtmelマイコンにArduinoのブートローダーを書き込んで、必要な設定を行う必要があります。また、この方法さえ知っていれば、互換機の作製に留まらず、万が一搭載されているマイコンが壊れた場合等に交換し再生する事も可能です。そこで今回の記事では、Atmel社製のAVRマイコンにArduinoのブートローダーを書き込んで各種設定を行う方法を取り上げます。

ブートローダーの書き込みと各種設定

Atmel社製のAVRマイコンをArduinoに使用するマイコンにするには、次の事を行う必要があります。

(1)Arduinoブートローダーの書き込み
Arduinoのブートローダーは、Arduino IDEをWindowsパソコンにインストールした場合、デフォルトで下記の場所に置かれています。インストール先によって変わりますので、環境に合わせて読み替えて下さい。

C:\Program Files\Arduino\hardware\arduino\bootloaders\optiboot\
optiboot_atmega328.hex

ブートローダーをライタで、AVRマイコンに書き込みますが、ターゲットのボードに合わせてhexファイルを選択してください。上の例では、Arduino UNOを想定して、optiboot_atmega328.hexを選択しています。

(2)Fusesの設定
下表の設定で、AVRマイコンのFuses設定を行う必要があります。

(3)Lock Bitsの設定
下表の設定で、AVRマイコンのLock Bits設定を行う必要があります。

ItemValue
Fuse EXTENDED0xFD
Fuse HIGH0xD6
Fuse LOW0xFF
Lock Bit0xCF

作業には、ライタが必要になります。Atmel StudioとAVRISP mkIIを使用した作業方法については、記事「Atmel Studio入門:ファームウエアの書き込みとヒューズ設定」を参照して下さい。

Fuseの設定

上表の様に、Fuseを設定するには、Atmel StudioのDevice ProgrammingメニューのFuse設定を次の様な選択にします。

BODLEVEL: 2V7
SPIEN: Check
EESAVE: Check
BOOTSZ: 256W_3F00
BOOTRST: Check
SUT_CKSEL: EXTOSC_8MHz_XX_16KCK_14CK_65MS

Lock Bitの設定

上表の様に、Lock Bitを設定するには、Atmel StudioのDevice ProgrammingメニューのLock Bit設定を次の様な選択にします

LB: NO_CHECK
BLBO: NO_CHECK
BOLB1: LPM_SPM_DISABLE

→その他のArduino関連情報

Sponsored Link