「設定 - Microchip Studio」の版間の差分
42行目: | 42行目: | ||
<br><br> | <br><br> | ||
== | == ファームウェアの書き込み == | ||
# PCにAVR ISP mkII等のライタを接続する。 | |||
# 同様に、ライタとATmegaマイコンを接続する。 | |||
# [Device Programming]アイコンを押下する。 | |||
# [Tool] - [Device Programming]を選択する。 | |||
#: <br> | |||
# [Device Programming]画面が表示される。 | |||
# [Device]プルダウンにてマイコン名を選択する。 | |||
# [Apply]ボタンを押下する。 | |||
# [Device Programming]画面の左ペインから[Memories]ボタンを押下する。 | |||
#: [[ファイル:ATMEL Studio Start 05.jpg|フレームなし|中央]] | |||
#: <br> | |||
# [Device Programming]画面の右ペインにある[Flash]エディットボックスから、書き込むファームウェア (HEXファイル) を選択する。 | |||
# [Program]ボタンを押下する。<br>これは、ATmegaマイコンのフラッシュメモリを消去した後、ファームウェアを書き込みおよびベリファイを行う。 | |||
#: [[ファイル:ATMEL Studio Start 06.jpg|フレームなし|中央]] | |||
<br><br> | |||
== ロックビットの設定 == | |||
ロックビットを設定することにより、ファームウェアの書き込みを禁止、または、ブートローダを起動を防ぐ等の設定を行うことができる。<br> | |||
<br> | <br> | ||
Device | # [Device Programming]アイコンを押下する。 | ||
# [Tool] - [Device Programming]を選択する。 | |||
#: <br> | |||
# [Device Programming]画面が表示される。 | |||
[[ | # [Device]プルダウンにてマイコン名を選択する。 | ||
# [Apply]ボタンを押下する。 | |||
# [Device Programming]画面の左ペインから[Lock bits]ボタンを押下する。 | |||
<br> | <br> | ||
例えば、ATmega328マイコンのLock bitsには、以下の示すような設定値がある。<br> | |||
* Lock Bit Byte (LB) | |||
** 0xFF (デフォルト) | |||
**: アプリケーションとブートローダの両方の読み取り・書き込み・検証が可能。 | |||
** 0x3F | |||
**: アプリケーションの読み取り・書き込み・検証が可能、ブートローダの読み取りのみ可能。 | |||
** 0x0F | |||
**: アプリケーションの読み取りのみ可能、ブートローダの読み取りのみ可能。 | |||
** 0x00 | |||
**: アプリケーションとブートローダの両方の読み取りのみ可能。 | |||
*: <br> | |||
* Boot Loader Protection Mode (BLB0 - BLB1) | |||
** 0b11 (デフォルト) | |||
**: ブートローダの読み取り・書き込み・検証が可能。 | |||
** 0b10 | |||
**: ブートローダの読み取りのみ可能。 | |||
** 0b01 | |||
**: ブートローダの書き込み・検証が禁止、読み取りは可能。 | |||
** 0b00 | |||
**: ブートローダの読み取り・書き込み・検証が禁止。 | |||
*: <br> | |||
* Application Protection Mode (BLB02) | |||
** 1 (デフォルト) | |||
**: アプリケーションの読み取り・書き込み・検証が可能。 | |||
** 0 | |||
**: アプリケーションの書き込み・検証が禁止、読み取りは可能。 | |||
<br> | |||
これらの設定値を組み合わせることで、ATmega328マイコンの保護レベルを調整することができる。<br> | |||
例えば、LBを<code>0x3F</code>、BLB0 - BLB1を<code>0b11</code>、BLB02を<code>1</code>に設定する場合、アプリケーションの読み取り・書き込み・検証が可能となり、ブートローダの読み取りのみが可能となる。<br> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>Lock bitsを設定すると、それを解除するにはATmegaマイコンをハイボルテージプログラミングモードで消去する必要があるため、Lock bitsの設定は慎重に行う必要がある。</u><br> | |||
<u>不適切なLock bits設定は、ATmegaマイコンの再書き込みを困難または不可能にする可能性がある。</u><br> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:AVR]] | [[カテゴリ:AVR]] |
2024年6月1日 (土) 00:40時点における版
起動画面
ファームウェアを作成するため、最初に[新しいプロジェクト]を作成する。
以下に3つの方法を示す。
1 : [Start Page]画面の左上の[New Project]を押下する
2 : [New Project]アイコンを押下する
3 : [File]メニュー - [New] - [Project]の順に選択する
[New Project]画面
- [GCC C Executable Project]を選択する。
- 任意のプロジェクト名を入力する。
- プロジェクトを保存するディレクトリを選択する。
- プロジェクト名とソリューション名が異なる場合は入力する。 (1つのソリューションに複数のプロジェクトを作成することが可能)
- [OK]ボタンを押下する。
マイコン選択画面
前図で[OK]ボタンを押下すると、マイコン選択画面に遷移する。
ここでは、ATmega328Pを選択する。
1. [Device Family]タブで[megaAVR, 8bit]を選択する
2. [ATmega328P]を選択する
3. [OK]ボタンを押下する
プログラム入力画面
プログラムを作成する。
作成し終えたら、以下のいずれかの方法でビルドを行う。
- [ビルド]アイコンを押下する
- [ビルド] - [ビルド プロジェクト名]の順に選択する
ビルドが成功すると[Output]画面の最後に"Build succeeded."と表示される。
AVR ISP mk2
ATMEL社の純正ライタで、ATMEL Studioで作成したファームウェア(HEXファイル)をマイコンに書き込むためのものである。
書き込みはATMEL Studioから行うことができる。
以下に、[ATMEL Studio]でのファーウウェアの書き込み方法を示す。
AVR ISP mk2のピンアサインは下図に示す配置となっている。
ファームウェアの書き込み
- PCにAVR ISP mkII等のライタを接続する。
- 同様に、ライタとATmegaマイコンを接続する。
- [Device Programming]アイコンを押下する。
- [Tool] - [Device Programming]を選択する。
- [Device Programming]画面が表示される。
- [Device]プルダウンにてマイコン名を選択する。
- [Apply]ボタンを押下する。
- [Device Programming]画面の左ペインから[Memories]ボタンを押下する。
- [Device Programming]画面の右ペインにある[Flash]エディットボックスから、書き込むファームウェア (HEXファイル) を選択する。
- [Program]ボタンを押下する。
これは、ATmegaマイコンのフラッシュメモリを消去した後、ファームウェアを書き込みおよびベリファイを行う。
ロックビットの設定
ロックビットを設定することにより、ファームウェアの書き込みを禁止、または、ブートローダを起動を防ぐ等の設定を行うことができる。
- [Device Programming]アイコンを押下する。
- [Tool] - [Device Programming]を選択する。
- [Device Programming]画面が表示される。
- [Device]プルダウンにてマイコン名を選択する。
- [Apply]ボタンを押下する。
- [Device Programming]画面の左ペインから[Lock bits]ボタンを押下する。
例えば、ATmega328マイコンのLock bitsには、以下の示すような設定値がある。
- Lock Bit Byte (LB)
- 0xFF (デフォルト)
- アプリケーションとブートローダの両方の読み取り・書き込み・検証が可能。
- 0x3F
- アプリケーションの読み取り・書き込み・検証が可能、ブートローダの読み取りのみ可能。
- 0x0F
- アプリケーションの読み取りのみ可能、ブートローダの読み取りのみ可能。
- 0x00
- アプリケーションとブートローダの両方の読み取りのみ可能。
- 0xFF (デフォルト)
- Boot Loader Protection Mode (BLB0 - BLB1)
- 0b11 (デフォルト)
- ブートローダの読み取り・書き込み・検証が可能。
- 0b10
- ブートローダの読み取りのみ可能。
- 0b01
- ブートローダの書き込み・検証が禁止、読み取りは可能。
- 0b00
- ブートローダの読み取り・書き込み・検証が禁止。
- 0b11 (デフォルト)
- Application Protection Mode (BLB02)
- 1 (デフォルト)
- アプリケーションの読み取り・書き込み・検証が可能。
- 0
- アプリケーションの書き込み・検証が禁止、読み取りは可能。
- 1 (デフォルト)
これらの設定値を組み合わせることで、ATmega328マイコンの保護レベルを調整することができる。
例えば、LBを0x3F
、BLB0 - BLB1を0b11
、BLB02を1
に設定する場合、アプリケーションの読み取り・書き込み・検証が可能となり、ブートローダの読み取りのみが可能となる。
※注意
Lock bitsを設定すると、それを解除するにはATmegaマイコンをハイボルテージプログラミングモードで消去する必要があるため、Lock bitsの設定は慎重に行う必要がある。
不適切なLock bits設定は、ATmegaマイコンの再書き込みを困難または不可能にする可能性がある。