Microchip StudioでのAT Mega168P 書き込み


#Microchip Studioのインストール
AT Mega168を使うことになり、プログラムを書き込む環境を用意した。

こういうことはあまり行わないので、未来の私のためにメモを残しておく。
その時は、バージョンが上がっているかもだけど、少なくとも今より面倒が増えることは少ないはずなので。

まず、書き込みに使うツールをインストールする。
これは、Visual Studioも一緒にインストールするのでだいぶ時間がかかる。（今回は2時間40分）

Microchip Studio:
https://www.microchip.com/en-us/development-tools-tools-and-software/microchip-studio-for-avr-and-sam-devices
ページの下の方に下図のようなリンクがある。
私はWeb Installerを使った。
![スクリーンショット 2020-12-28 174503.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/328c42c0-4326-df60-c313-948b3102f89b.png)

インストール中の画面。参考にどうぞ。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ん？<br>名前が変わった？？<br>Microchip Studio for AVR and SAM Devices <a href="https://t.co/6zBH8M7BZS">pic.twitter.com/6zBH8M7BZS</a></p>&mdash; SIHO＠漆芸家/IT系技術者 (@SIHO_o) <a href="https://twitter.com/SIHO_o/status/1343406202256982016?ref_src=twsrc%5Etfw">December 28, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

#Microchip Studioの使い方
インストールが完了して、Microchip Studioを起動する。
書き込みは ツール＞Device Programming 画面から行う。
![IMG_8339.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/57194ad3-5222-2c03-39be-95228e9a6c39.jpeg)
[Device Programming]画面
![IMG_8340.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/4980fe6d-71dc-6386-3c28-7abb0ab66706.jpeg)
書き込みDeviceにはAVRISP mkⅡを使うので、プルダウンから設定する
![IMG_8341.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/7e2d7542-a1e4-1756-9191-978530caaefd.jpeg)
書き込み対象のマイコンはATmega 168
![IMG_8342.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/e6e70e73-3975-ac00-8f7a-565d58c3bc0e.jpeg)
[Apply]を押す
![IMG_8343.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/a53bdb69-284a-f47a-c64e-88aec1c98a24.jpeg)
マイコンを繋げて[Read]ボタンを押す
![IMG_8344.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/8d5e5049-3f55-32cf-c5d8-82970bcb6dae.jpeg)
[Device signature]に値が設定された
![IMG_8345.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/9fd82976-ccdf-5f2b-893d-3fbbec40121b.jpeg)
[Memories]タブをクリックして切りかえる。
ここで書き込みするファイルを指定する。ここでは、hexファイル。
![IMG_8346.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/945049f3-3f26-f279-fd5f-96fb4dad4e89.jpeg)
[Program]ボタンを押すと書き込まれる
![IMG_8348.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/631448ee-0085-fa93-9d63-52ed99e575db.jpeg)
[Fuses]タブをクリックして切りかえる。ここではfuseを設定する
![IMG_8349.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/e382c272-f253-3c31-0786-c7071ba18445.jpeg)

fuseの書き込み設定

|     | Extended | High |Low | Lock |
|:----------:|:-----------:|:------------:|:------------:|:----:|
|ProMini/328| 0xff | 0xda | 0xe2 |      |
|ProMini/168| 0xf8 | 0xdf | 0xe2 |      |
|     Uno   | 0xfd | 0xda | 0xff | 0xcf |
![IMG_8351.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/8be4a8c3-7c0e-970b-8552-dbf8a0658703.jpeg)
[Program]ボタンを押すと書き込まれる
![IMG_8352.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/0e74935d-7d60-b1e4-b1a1-bd6735c842a8.jpeg)
リセットピンを無効にしたり、クロック回路に外付け水晶振動子を使う設定の場合は、場合によっては次の書き込みができなくなるのでWarningが出ます。たしかにその設定ならば[Continue]で書き込みに進めばOKですが、意図していない場合は[Abort]を押して閉じて、設定を確認するか、[Read]ボタンで現在のFuse設定を読み込んでからFuseの値を再設定します。
![IMG_8353.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310600/65444922-5cac-19cf-540a-a08e4ba66d43.jpeg)