• 検索結果がありません。

メモリ プログラミング

ドキュメント内 mega8U2.pdf (ページ 158-161)

BYCT 4 BYCT 3 BYCT 2 BYCT 1BYCT7BYCT6BYCT5

25. メモリ プログラミング

25.1. プログラム メモリとデータ メモリ用施錠ビット

ATmega8U2/16U2/32U2は非プログラム(1)のままか、表25-2.で一覧される付加機能を得るためにプログラム(0)できる6つの施錠ビットを提 供します。この施錠ビットはチップ消去指令でのみ1に消去できます。

表25-1. 施錠ビット バイトの内容 ビット番号 名称

6 5 4

-BLB12 BLB11

意味

ブート ローダ領域に対する保護用ブート施錠ビット 応用領域に対する保護用ブート施錠ビット 3

BLB02

既定値 (注)

1 (非プログラム) 1 (非プログラム) 0 (プログラム) 1 (非プログラム)

注: 0はプログラム、1は非プログラムを意味します。

7

- 1 (非プログラム)

2

BLB01 1 (非プログラム)

フラッシュとEEPROMメモリに対する一般保護用施錠ビット 1

LB2 0 (プログラム)

0

LB1 0 (プログラム)

表25-2. 施錠ビットの保護種別

LB 種別 LB1

保護種別 1

LB2 1

1 メモリ施錠機能は機能しません。

メモリ施錠ビット

直列、並列、またはデバッグWIRE経由プログラミングに対する保護

0 1

2 フラッシュ、EEPROMの更なるプログラミング(書き込み)が禁止されます。ヒューズ ビットが固定され ます。 (注1)

0 0

3 フラッシュ、EEPROMの更なるプログラミング(書き込み)と照合(読み出し)が禁止されます。ヒューズ ビットとブート施錠ビットが固定されます。 (注1)

1 0 1

1 1

2

LPM, SPM命令が応用領域をアクセスすることに対して制限はありません。

SPM命令は応用領域に書くことを許されません。

フラッシュ メモリの応用プログラム領域に対する保護 BLB01

BLB02 LB0 種別

0 0

3 SPM命令による応用領域への書き込みと、ブート ローダ領域でのLPM命令による応用領域か

らの読み込みが許されません。 (注2) 1

0

4 ブート ローダ領域でのLPM命令による応用領域からの読み込みが許されません。 (注2) 1

0 1

1 1

2

LPM, SPM命令がブート ローダ領域をアクセスすることに対して制限はありません。

SPM命令はブート ローダ領域に書くことを許されません。

フラッシュ メモリのブート ローダ プログラム領域に対する保護 BLB11

BLB12 LB1 種別

0 0

3 SPM命令によるブート ローダ領域への書き込みと、応用領域でのLPM命令によるブート ローダ

領域からの読み込みが許されません。 (注3) 1

0

4 応用領域でのLPM命令によるブート ローダ領域からの読み込みが許されません。 (注3) 注: 0はプログラム、1は非プログラムを意味します。

注1: 施錠ビットを書く前にヒューズ ビットとブート施錠ビットを書いてください。デバッグWIREは全面的に禁止されます。

注2: BLB02=0で、割り込みベクタがブート ローダ領域に配置されていると、応用領域での実行時に割り込みが禁止されます。

注3: BLB12=0で、割り込みベクタが応用領域に配置されていると、ブート ローダ領域での実行時に割り込みが禁止されます。

25.2. ヒューズ ビット

ATmega8U2/16U2/32U2には3つのヒューズ バイトがあります。表25-3.~5.は全てのヒューズの概略機能とヒューズ バイト内でどのように配 置されるかを示します。ヒューズはプログラムされると、論理0として読まれることに注意してください。

表25-3. 拡張ヒューズ バイト一覧 ビット

名称 意味 既定値 ($F4)

7

- 1 (非プログラム)

6

- 1 (非プログラム)

5

- 1 (非プログラム)

4

- 1 (非プログラム)

3

HWBE ハードウェア ブート許可。 0 (プログラム) HWBピン有効

2

BODLEVEL2 1 (非プログラム)

低電圧検出(BOD)リセットの制御と検出電圧選択。 (注1) 1

BODLEVEL1 0 (プログラム)

0

BODLEVEL0 0 (プログラム)

注1: BODLEVELヒューズの符号化については173頁の表26-4.をご覧ください。

表25-4. ヒューズ上位バイト一覧 ビット

名称 意味 既定値 ($D9)

7

DWEN (注4) デバッグWIRE機能許可。 1 (非プログラム) デバッグWIRE不許可 6

RSTDISBL PC1がI/OピンかまたはRESETピンかを選択します。 1 (非プログラム) PC1はRESETピン 5

SPIEN (注1) 直列プログラミング許可。 0 (プログラム) 直列プログラミング許可 4

WDTON (注3) ウォッチドッグ タイマ常時有効。 1 (非プログラム) WDTはWDTCSRで許可 チップ消去からEEPROM内容を保護。

3

EESAVE 1 (非プログラム) EEPROMは未保護

2

BOOTSZ1 0 (プログラム)

ブート ローダ容量選択。(表24-8.参照) (注2) 1

BOOTSZ0 0 (プログラム)

リセット ベクタ(応用領域またはブート ローダ領域)選択。

0

BOOTRST 1 (非プログラム) 応用領域

注1: SPIENヒューズは直列プログラミングでアクセスできません。

注2: BOOTSZ1,0既定値は最大ブート ローダ容量になります。156頁の表24-8.をご覧ください。

注3: 詳細については34頁の「ウォッチドッグ タイマ制御レジスタ(WDTCSR)」をご覧ください。

注4: 施錠ビットやRSTDISBLヒューズの設定に拘らず、DWENヒューズがプログラム(0)された製品の出荷は決してありません。プログラム(0) されたDWENヒューズは全休止形態でクロック系の一部を許可します。これは消費電力の増加になってしまいます。

表25-5. ヒューズ下位バイト一覧 ビット

名称 意味 既定値 ($5E)

7

CKDIV8 (注4) システム クロック 8分周選択。 0 (プログラム) 8分周 6

CKOUT (注3) システム クロック出力許可。 1 (非プログラム) 不許可

5

SUT1 0 (プログラム)

起動時間選択。 (注1)

4

SUT0 1 (非プログラム)

3

CKSEL3 1 (非プログラム)

2

CKSEL2 1 (非プログラム)

クロック種別選択。 (注2)

1

CKSEL1 1 (非プログラム)

0

CKSEL0 0 (プログラム)

注1: SUT1,0の既定値は最大起動時間になります。詳細については19頁の表8-4.をご覧ください。

注2: CKSEL3~0の既定設定は外部クリスタル用発振器になります。詳細については18頁の表8-1.をご覧ください。

注3: CKOUTはポートC7に出力することをシステム クロックに許します。詳細については21頁の「クロック出力緩衝部」をご覧ください。

注4: 詳細については21頁の「システム クロック前置分周器」をご覧ください。

ヒューズ ビットの状態はチップ消去によって影響されません。施錠ビット1(LB1)がプログラム(0)されると、ヒューズ ビットが固定されることに注意し てください。施錠ビットをプログラム(0)する前にヒューズ ビットをプログラミング(書き込み)してください。

25.2.1. ヒューズのラッチ

ヒューズ値はデバイスがプログラミング動作へ移行する時にラッチされ、ヒューズ値の変更はデバイスがプログラミング動作を去るまで無効です。こ れは一旦プログラム(0)されると直ぐに効果があるEESAVEヒューズには適用されません。ヒューズは通常動作での電源投入でもラッチされま

160

ATmega8U2/16U2/32U2

25.3. 識票バイト

全てのATMELマイクロ コントローラはデバイスを識別する3バイトの識票符号を持ちます。この 符号は直列と並列の両プログラミング動作で、またデバイスが施錠されていても読めます。

この3バイトは分離された空間に存在します。ATmega8U2/16U2/32U2の識票バイトに ついては表25-6.で示されます。

25.4. 発振校正値バイト

ATmega8U2/16U2/32U2には内蔵RC発振器用に1バイトの校正値があります。このバイトは識票アドレス空間でアドレス$0000の上位バイト にあります。リセット中、校正付き内蔵RC発振器の正しい周波数を保証するために、このバイトが発振校正(OSCCAL)レジスタへ自動的に 書かれます。

表25-6. デバイスの識別番号(ID) 識票バイト アドレス 部品番号 $0000 $0001 $0002

ATmega8U2 $1E $93 $89 ATmega16U2 $1E $94 $89 ATmega32U2 $1E $95 $8A

25.5. ページ容量

表25-7. フラッシュ メモリのページ数とページの語数

デバイス 全容量 ページ容量 PCWORD ページ数 PCPAGE PCMSB 64ワード

ATmega8U2 4Kワード(8Kバイト) PC5~0 64 PC11~6 11 64ワード

ATmega16U2 8Kワード(16Kバイト) PC5~0 128 PC12~6 12 64ワード

ATmega32U2 16Kワード(32Kバイト) PC5~0 256 PC13~6 13

表25-8. EEPROMメモリのページ数とページの語数

デバイス 全容量 ページ容量 PCWORD ページ数 PCPAGE EEAMSB 4バイト

ATmega8U2 512バイト EEA1~0 128 EEA8~2 8 4バイト

ATmega16U2 512バイト EEA1~0 128 EEA8~2 8 4バイト

ATmega32U2 1Kバイト EEA1~0 256 EEA9~2 9

25.6. 並列プログラミング

本項はATmega8U2/16U2/32U2のプログラム用フラッシュ メモリ、データ用EEPROM、メモリの施錠ビット、ヒューズ ビットの並列プログラミングと照合 の方法を記述します。特記事項を除いて、パルス幅は最低250nsと仮定されます。

25.6.1. 信号名

この項でATmega8U2/16U2/32U2のいくつかのピンは並列プログラミング 中の機能を表す信号名で参照されます。図25-1.と表25-9.をご覧くださ い。後続の表で示されないピンはピン名によって参照されます。

XA0とXA1ピンはXTAL1ピンが正パルスを与えられる時に実行される動作 を決めます。このビット符号化は表25-12.で示されます。

WRまたはOEパルス送出時、設定された指令が決める動作が実行され ます。各種指令は表25-13.で示されます。

図25-1. 並列プログラミング構成図

RESET PD1 PD2 PD3 PD4 PD5 PD6

XTAL1 GND +12V

RDY/BSY OE WR BS1 XA0 XA1

PB7~0 VCC

DATA +5V

PD7

ドキュメント内 mega8U2.pdf (ページ 158-161)