ATtiny404の開発にあたり、IDEはAtmel Studio7.0、ICEはPICKIT4を対象としてこの記事を綴ります。
事前調査では、Atmel Studio7.0はPICKIT4に対応しており、ATTiny404もUPDIにてオンチップデバッグや書き込み対応ができるとなっています。
もちろん、PICKIT4もUPDI対応ということです。
PICKIT4はAtmel Studioで使える?!
コーディングを終えて、早速デバッグをするべく、PICKIT4をPCへ接続してみます。
ターゲット基板には、UPDIに必要な3線(VCC,GND,UPDI)を接続しまして、Atmel Studioの「Start Debugging ▶」を実行するが、タイムアウトエラーになってしまいます。
何度Retryしてもタイムアウトエラーなり、ICEの設定がPICKIT4ではなく、シミュレーターになっているのでは?と確認しましたが、PICKIT4になっていました。
ターゲット間との接続が間違っていると推測し、回路図とPICKIT4の仕様書を確認するが、問題なさそうです。
以下の記事にもある通り、皆さんは普通にお使いになられています。
Atmel StudioではなくMPLAB Xで試してみる
ネット上にも同じ現象で困っている人がチラホラいました。
種々を試されている中で、MPLAB Xでプロジェクトを生成してPICKIT4を接続すると、正常にデバッグできるという情報があり、こちらでも同じ様に試してみました。
但し、閲覧した情報には、MPLAB Xはv5.25以上でないと、UPDI対応がされていないとあります。
当方は、MPLAB X v5.4だったので、バージョンは大丈夫です。
MPLAB Xには、プロジェクトをインポートする機能があるので、Atmel Studioのプロジェクトをインポートしてみます。
特に問題なく進捗したので、PICKIT4を接続していざデバッグ!・・・ってやっぱりデバッグできません。
ここまでくると、環境要因の香りが漂ってきます。
私が確認した時点では、Microchip社のサイトへ一時的に接続できず、開発環境がダウンロードできなかったので、少し日時を置いてから確認をしました。
USBドライバーを確認する
PICKIT4をPCに接続した際、どの様なUSBドライバーが割当たっているのかデバイスマネージャーで確認してみました。
「ユニバーサルシリアルバスコントローラー」の下にMicrochip社のWindows向けUSBドライバーとして認識されています。
Microchip社のドライバーなので、正しいドライバーが選択されている様に見えるのですが、実はこれが原因でPICKIT4が正常に機能していませんでした。
正しくは、以下の通り、Virtual COM Portとして割り当てされていないと正しく動作しません。
画像ではCOM4になっていますが、COMポートはそれぞれ割りあてが変わります。
Atmel StudioでUSBドライバーをどうやって割り当てし直すの?
ドライバーの更新や削除など、色々試しましたが候補になるものが見当たらず、Microchip社のWindows向けUSBドライバーからは、変更することができませんでした。
MPLAB Xでプロジェクトをインポートした際、いくつか更新作業ができることに気づき、そこからPICKIT4を更新してみます。
より具体的には、MPLAB XのTOP画面上で、右下半分(タスクペイン)にバージョンアップの通知が出ていたので、そこからPICKIT4に関わる項目をチェック付記して、更新作業を行いました。
すると、MPLAB XでもAtmel Studioでも、PICKIT4でオンチップデバッグ、書き込み作業ができる様になり、私の環境下においては、USBドライバーが適切では無かったことが原因でした。
これまでの開発環境の構築履歴を考えると、自身がカスタマイズ導入したツールはありません。
指示通りの標準インストールを繰り返してきた結果、PICKIT4のドライバーが正しく割り当てされていないのは煮え切らない感じがします。
以上、神戸の物づくりからの情報でした。