エントリー

AVRのフューズビット

AVRのフューズビットについて調査してみようと思いAtmelのデータシートを参照した

  • ATmega168Pと328Pのみ
  • フューズビットとされているがデータシートではフューズバイトと記載されている
  • 負論理なのでビットの意味に対する肯定・否定は、0:肯定、1:否定となる
  • クロック選択関係はややこしかったので未稿
328P
上位バイト(HIGH FUSE)
名称 ビット 意味 備考
RSTDISBL 7

PC6がI/Oピンかリセットピンかを選択

0:I/Oピン

1:リセットピン

 
DWEN 6 デバッグWIRE機能許可  
SPIEN 5

プログラム許可

0:許可

1:非許可

フラッシュメモリとEEPROMへの書込みを制御
WDTON 4

ウォッチドックタイマを常時有効

0:有効

1:無効(プログラムモード)

0:有効ではリセット後から開始される

1:無効の場合WDTCSRで有効にできる

EESAVE 3

ChipErase(初期化)時EEPROMの内容を保護

0:初期化しない

1:初期化する

0なら内蔵されているEEPROMを初期化しない
BOOTSZ1 2

ブートローダの容量選択

00:2048bytes($3800~$3fff)

01:1024bytes($3c00~$3fff)

10:512bytes($3e00~$3fff)

11:256bytes($3f00~$3fff)

()内はブートローダアドレス範囲(開始~終了)

開始アドレスがブートローダ実行時のリセットアドレス

プログラム領域は$0000~ブートローダ開始アドレス-1となる

BOOTSZ0 1
BOOTRST 0

リセット時に実行される領域の選択

0:ブートローダ領域

1:プログラム領域

 
下位バイト(LOW FUSE)
名称 ビット 意味 備考
CKDIV8 7

システムクロック8分周

0:8分周する

1:8分周しない

 
CKOUT 6

システムクロック出力

0:出力する

1:出力しない

PB0に出力
SUT1 5

起動時間選択(最低14×CK)

00:+0

01:+4.1ms

10:+65ms

11:予約

00でリセット時RSTDISBLが0の場合は+4.1ms

SUT0 4
CKSEL3 3 クロック種別選択        
CKSEL2 2
CKSEL1 1
CKSEL0 0
拡張バイト(Extended FUSE)
名称 ビット 意味 備考
 - 7 未使用      
 - 6
 - 5
 - 4
 - 3
BODLEVEL2 2 低電圧検出リセットの検出電圧選択    
BODLEVEL1 1
BODLEVEL0 0
168P
上位バイト(HIGH FUSE)
 名称 ビット 意味 備考
RSTDISBL 7

PC6がI/Oピンかリセットピンかを選択

0:I/Oピン

1:リセットピン

 
DWEN 6 デバッグWIRE機能許可  
SPIEN 5

プログラム許可

0:許可

1:非許可

フラッシュメモリとEEPROMへの書込みを制御
WDTON 4

ウォッチドックタイマを常時有効

0:有効

1:無効(プログラムモード)

0:有効ではリセット後から開始される

1:無効の場合WDTCSRで有効にできる

EESAVE 3

ChipErase(初期化)時EEPROMの内容を保護

0:初期化しない

1:初期化する

0なら内蔵されているEEPROMを初期化しない
BODLEVEL2 2  低電圧検出リセットの検出電圧選択    
BODLEVEL1 1
BODLEVEL0 0
下位バイト(LOW FUSE)
名称 ビット 意味 備考
CKDIV8 7

システムクロック8分周

0:8分周する

1:8分周しない

 
CKOUT 6

システムクロック出力

0:出力する

1:出力しない

PB0に出力
SUT1 5

起動時間選択(最低14×CK)

00:+0

01:+4.1ms

10:+65ms

11:予約

00でリセット時RSTDISBLが0の場合は+4.1ms
SUT0 4
CKSEL3 3 クロック種別選択  
CKSEL2 2
CKSEL1 1
CKSEL0 0
拡張バイト(Extended FUSE)
名称 ビット 意味 備考
 - 7 未使用      
 - 6
 - 5
 - 4
 - 3
BOOTSZ1 2

ブートローダの容量選択

00:1024bytes($1c00~$1fff)

01:512bytes($1e00~$1fff)

10:256bytes($1f00~$1fff)

11:128bytes($1f80~$1fff)

()内はブートローダアドレス範囲(開始~終了)

開始アドレスがブートローダ実行時のリセットアドレス

プログラム領域は$0000~ブートローダ開始アドレス-1となる

BOOTSZ0 1
BOOTRST 0

リセット時に実行される領域の選択

0:ブートローダ領域

1:プログラム領域

 

 

 

ページ移動

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前
メールアドレス
URL
コメント
閲覧制限
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed