設定 - Microchip Studio

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2024年6月1日 (土) 01:03時点におけるWiki (トーク | 投稿記録)による版 (→‎ロックビットの設定)
ナビゲーションに移動 検索に移動

起動画面

ファームウェアを作成するため、最初に[新しいプロジェクト]を作成する。
以下に3つの方法を示す。
1 : [Start Page]画面の左上の[New Project]を押下する
2 : [New Project]アイコンを押下する
3 : [File]メニュー - [New] - [Project]の順に選択する


[New Project]画面

  1. [GCC C Executable Project]を選択する。
  2. 任意のプロジェクト名を入力する。
  3. プロジェクトを保存するディレクトリを選択する。
  4. プロジェクト名とソリューション名が異なる場合は入力する。 (1つのソリューションに複数のプロジェクトを作成することが可能)
  5. [OK]ボタンを押下する。
    ATMEL Studio Start 01.jpg



マイコン選択画面

前図で[OK]ボタンを押下すると、マイコン選択画面に遷移する。
ここでは、ATmega328Pを選択する。
1. [Device Family]タブで[megaAVR, 8bit]を選択する
2. [ATmega328P]を選択する
3. [OK]ボタンを押下する

ATMEL Studio Start 02.jpg



プログラム入力画面

プログラムを作成する。
作成し終えたら、以下のいずれかの方法でビルドを行う。

  • [ビルド]アイコンを押下する
  • [ビルド] - [ビルド プロジェクト名]の順に選択する

ビルドが成功すると[Output]画面の最後に"Build succeeded."と表示される。

ATMEL Studio Start 03.jpg



AVR ISP mk2

ATMEL社の純正ライタで、ATMEL Studioで作成したファームウェア(HEXファイル)をマイコンに書き込むためのものである。
書き込みはATMEL Studioから行うことができる。
以下に、[ATMEL Studio]でのファーウウェアの書き込み方法を示す。
AVR ISP mk2のピンアサインは下図に示す配置となっている。

ATMEL Studio Start 04.jpg



ファームウェアの書き込み

  1. PCにAVR ISP mkII等のライタを接続する。
  2. 同様に、ライタとATmegaマイコンを接続する。
  3. [Device Programming]アイコンを押下する。
  4. [Tool] - [Device Programming]を選択する。

  5. [Device Programming]画面が表示される。
  6. [Device]プルダウンにてマイコン名を選択する。
  7. [Apply]ボタンを押下する。
  8. [Device Programming]画面の左ペインから[Memories]ボタンを押下する。
    ATMEL Studio Start 05.jpg

  9. [Device Programming]画面の右ペインにある[Flash]エディットボックスから、書き込むファームウェア (HEXファイル) を選択する。
  10. [Program]ボタンを押下する。
    これは、ATmegaマイコンのフラッシュメモリを消去した後、ファームウェアを書き込みおよびベリファイを行う。
    ATMEL Studio Start 06.jpg



ロックビットの設定

ロックビットを設定することにより、ファームウェアの書き込みを禁止、または、ブートローダを起動を防ぐ等の設定を行うことができる。

  1. [Device Programming]アイコンを押下する。
  2. [Tool] - [Device Programming]を選択する。

  3. [Device Programming]画面が表示される。
  4. [Device]プルダウンにてマイコン名を選択する。
  5. [Apply]ボタンを押下する。
  6. [Device Programming]画面の左ペインから[Lock bits]ボタンを押下する。


例えば、ATmega328マイコンのLock bitsには、以下の示すような設定値がある。

  • Lock Bit Byte (LB)
    • 0xFF (デフォルト)
      アプリケーションとブートローダの両方の読み取り・書き込み・検証が可能。
    • 0x3F
      アプリケーションの読み取り・書き込み・検証が可能、ブートローダの読み取りのみ可能。
    • 0x0F
      アプリケーションの読み取りのみ可能、ブートローダの読み取りのみ可能。
    • 0x00
      アプリケーションとブートローダの両方の読み取りのみ可能。

  • Boot Loader Protection Mode (BLB0 - BLB1)
    • 0b11 (デフォルト)
      ブートローダの読み取り・書き込み・検証が可能。
    • 0b10
      ブートローダの読み取りのみ可能。
    • 0b01
      ブートローダの書き込み・検証が禁止、読み取りは可能。
    • 0b00
      ブートローダの読み取り・書き込み・検証が禁止。

  • Application Protection Mode (BLB02)
    • 1 (デフォルト)
      アプリケーションの読み取り・書き込み・検証が可能。
    • 0
      アプリケーションの書き込み・検証が禁止、読み取りは可能。


これらの設定値を組み合わせることで、ATmega328マイコンの保護レベルを調整することができる。
例えば、LBを0x3F、BLB0 - BLB1を0b11、BLB02を1に設定する場合、アプリケーションの読み取り・書き込み・検証が可能となり、ブートローダの読み取りのみが可能となる。

※注意
Lock bitsを設定すると、それを解除するにはATmegaマイコンをハイボルテージプログラミングモードで消去する必要があるため、Lock bitsの設定は慎重に行う必要がある。
不適切なLock bits設定は、ATmegaマイコンの再書き込みを困難または不可能にする可能性がある。


内部メモリの消去

ATmegaマイコンの内部を工場出荷時に戻す場合、以下の手順に従う。

  1. [Device Programming]アイコンを押下する。
  2. [Tool] - [Device Programming]を選択する。
  3. [Device Programming]画面が表示されるので、画面の左ペインから[Memories]を選択する。
  4. [Device Programming]画面の右ペインにある[Device]プルダウンから[Erase Chip]を選択する。
  5. [Erase now]ボタンを押下する。
  6. フラッシュメモリ、EEPROM、Lock bits等のメモリ内部に保持された全てのデータが消去される。


例えば、ATmegaマイコンの内部にブートローダが残っている場合、Atmel ICE等からファームウェアの書き込みができない。
そのため、内部メモリを消去すると、再度、ファームウェアの書き込みやLock bits等が書き込めるようになる。