ATmega328P ブートローダ書き込み編

一般的な内容ですが、ATmega328Pのブートローダ書込み方法です。
Arduino Unoで[ArduinoISP]を使用した、書き込み手順です。

IMGP4995

# 環境
Arduino SDK 1.0.5

# SDK
https://www.arduino.cc/en/Main/Software
から入手

# 準備
環境設定、[ファイル]-[環境設定]

スケッチブックの保存場所
に、作業フォルダを指定します。
パス例:
C:\arduino-1.0.5-r2-Atmega\work

ss-sdk-0507a1

# ArduinoISP の書き込み
Unoに、[ArduinoISP] スケッチを書き込みます。
マイコンボード = Arduino UNO
書込み装置= AVRISP MKII
シリアルポート= 接続したCOMポート

# 部品
ATmega328P-PU
http://akizukidenshi.com/catalog/g/gI-03142/

抵抗 (R): 10K
セラミックコンデンサ: 20pF (picofarad)  2個
*) 18~22 pF
電解コンデンサ: 10 マイクロ F(micro F)
*) RESET =GND 間

クリスタル 16MHz

#準備, 必要なファイルの取得
arduino.cc の
https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard

中断あたり
#[Breadboard1-0-x.zip] を取得、解凍
作業フォルダ/hardware の下に配置

# 配線

atmega328p-0210a1_ブレッドボード

 

*) 電源= 5V 結線してください
 
[ATmega328P-PU] – [ARDUINO UNO]
RESET – D10   ( R=10K でプルアップ )
MOSI – D11
MISO – D12
SCK – D13
VCC – 5V
GND – GND
*) クリスタルのコンデンサ= 18 – 22 pF
らしいですが、今回は 20pF セラコンを使用。
*) UNO側の[RESET] – [GND]の間に
10 MF コンデンサを入れる。(極性に注意)

# [ブートローダ書込み]
マイコンボード = ATmega328 on a breadboard (8 MHz internal clock)
書込み装置= Arduino as ISP

# [ツール]-[ブートローダを書き込む]
を実行

# スケッチを書き込む場合、 (内部クロック=8MHzで動作の場合)
電源をOFF後、16 MHzクリスタルを外す