AVR (1)
ATmega16U4 / ATmega32U4 を調べたのでメモ。
日本語化された資料が以下にある。
ATmega
Atmel 社のマイコン AVR の Mega シリーズ。
リセット
BOOTRST と IVSEL で設定する。
BOOTRST | IVSEL | リセット | 割込ベクタ |
---|---|---|---|
0 | 0 | 0x0000 | 0x0002 |
0 | 1 | 0x0000 | Boot領域先頭 + 0x0002 |
1 | 0 | Boot領域先頭 | 0x0002 |
1 | 1 | Boot領域先頭 | Boot領域先頭 + 0x0002 |
Boot領域は BOOTSZ の値で決まる。
BOOTSZ1 | BOOTSZ0 | 先頭(16U4) | 先頭(32U4) |
---|---|---|---|
1 | 1 | 0x1F00 | 0x3F00 |
1 | 0 | 0x1E00 | 0x3E00 |
0 | 1 | 0x1C00 | 0x3C00 |
0 | 0 | 0x1800 | 0x3800 |
BOOTRST, BOOTSZ
ヒューズビットの設定値。
IVSEL
HWBE
ヒューズビットの設定値。 0の場合、リセット時にPE2の入力LowでリセットアドレスをBoot領域先頭に変更する。BOOTRSTより優先。
ヒューズビット
プログラム領域とは別にマイコンの動作設定を行う領域。 設定によってはマイコンが動作しなくなったり、プログラム書き換えが出来なくなったりする。
MCUSR
MCUステータスレジスタ。リセット要因フラグがある。フラグは0書き込みでクリア。
ビット | MCUSR | |
---|---|---|
5 | USBRF | USB |
4 | JTRF | JTAG |
3 | WDRF | ウォッチドッグ |
2 | BORF | 低電圧 |
1 | EXTRF | 外部リセット |
0 | PORF | 電源ON |