ATMELデバイスにMPLAB Snapを使ってプログラミングする。

 AtmelとMicrochipが一緒になったというニュースを聞いた時は、椅子から転げ落ちくらいびっくりしましたが、よくよく考えると、特に開発環境を作るチーム力が増えるのはいい事なんじゃないかと思いました。もちろん、稼ぎはチップを売ることですが、今どきMakefileすら書けない人が多いので開発環境がしっかりしてないとチップを採用してもらえないという循環が発生します。その証拠に今の開発環境であるMPLABやAtmel Studio7はEclipseにおんぶにだっこではない良い開発環境です。

 さて、そんな数年前の話から今に戻りますが、PICkit4というPICの新しいICD(In Circuit Debugger/Programmer)が出ました。仕様を見ると合併したよい循環が現れていて、PICkit4でもAtmelデバイスに書き込めるしデバッグする線もサポートしているし!と仕様を見た時感動しましたね。

PICkit4をAtmelデバイスに接続する

 早速Atmel Studio7にPickit4を認識させます。おーちゃんと認識する。デバッグしようとしたらdwモードがプルダウンメニューに出てくる。おっしおっし。

 何がともあれ、こういったものはファームアップデートするもんです。MPLAB X IPEを使ってファームアップデートします。

 ところが、ファームアップデートした後はプログラムを書き込めるがdwモードでのデバッグができません。というか、プルダウンメニューに出てこなんですよ。

 しょうがないので、Microchipに聞いてみたら

サポートしてない。すまん。

 と言われてしまいました。そうかそうか、結線はできても信号はながれてこないのか。

どういうこっちゃー!

 結局Atmel ICEを使うことになるのか。あのハーフピッチフラットケーブル嫌いなんだよ・・・

 

MPLAB SnapをAtmelデバイスに接続する

 そんな中、一筋の光が・・・その名はMPLAB Snap。2000円弱で買えてしまう、価格破壊ICDです。PICkit4の後に出た製品(らしい)で出力ピンも8ピンに増えています。一応カタログベースではdwラインが記載されているので、ほんの小さな光を信じて買ってみました。

 もちろん、まずはファームアップデートです。ところが今度はデバッグどころか書き込みすらできない。

 Microchipのサイトにエラッタがありました。

 抵抗を取れと!

 なーんだ、早く言ってくれよ。それぐらい朝飯前さ。

 でも動かない。AVRモードにならないのです。Microchipに聞いてみました。

 「その現象は私達も認識しています。次の手順を試してみてください。その結果をフィードバックしてくれると助かります。

  • MPLAB Xを起動
  • MPLAB Snapがサポートしているデバイスでプロジェクトを作る。(例:PIC16F1947) 私的メモ:Cのプロジェクトがいい。そしてソースコードにmain.cを追加する。
  • MPLAB Snapを接続して(他のUSBデバイスは抜いて)プログラムボタンを押す。
  • AVRモードになるか確認する。

よろしく」

 この通り実行してみてびっくりしたのは、なんとファームアップデートをするじゃないですか!?どういうこと!?これが狙いか・・・

 Atmel Studio7を起動してAtmelデバイスに書き込むことができました。よし、dwモードも動くんだろうな!?

うごかねーよ!

 Atmel ICEが一番でした・・・

 あ、一応Fuse関係はAtmel Studio7で書き込むことはできました。

組込みEMSBOXパート1

 去年、とある案件で、直接契約した会社のお客さんの工場(主にメカ)で作業しなければならないことがありました。

 安定化電源があるのは幸いしたものの、オシロスコープはないですし、WiFiも飛んでいないですし、もちろんPCは持ち込みのノート。しょうがないですよね。場所が場所ですから。ただ、仕事の効率が大幅に下がるんです。効率が下がったのは施設に設備がなかったからではなく、私の準備不足なわけです。

 例えば、大工が突然呼ばれて修繕を頼まれた時、トラックに道具が積んでいなかったからできませんなんて言ったら、この大工大丈夫?って思われますよね。それと同じです。トラックに全部道具積んでおけよと。

 ということで、EMSBOXなるものを作りました。

 まず、眠っていたペリカンBOXをベースに作ります。ペリカンBOXと聞いて分かる人は玄人ですね。私がベースとして用意したのはHDDを10個、データを壊さずに空輸できるペリカンBOXです。お金がないので経費削減のため、このウレタンを上手に再利用します。

ペリカンBOXの外見はこれです。

 ペリカンBOXの利点は防水防塵ですが、飛行機等に乗せた時、中と外の気圧が変化したときに特許取得済みの弁が作動することです。不思議です。あと、頑丈なワンタッチバックルが2箇所あり、さらに鍵穴がとてもいい場所についています。

 欠点は複数個積み上げるガイドのようなものがないところですね。このあたりは音響屋さんがよく使ってる黒い箱のほうが便利です。

 難しいのはウレタンの選定でしょう。ぴったりに作ってもウレタンが硬いと、トラックなどで運搬するとネジが緩むんです。このあたりはケース屋さんのノウハウですね。今回はあり物で作るので何も工夫できませんが。

 

蓋を開けると、ケーブル類が出てきます。


 ケーブル類を取り出すと、A4サイズのノートPC本体が出てきます。最低限必要なのはACアダプターとこのノートですね。ただ、これだけでは仕事ができなかったので、その次の段に道具を忍ばせます。

道具その1:USBオシロスコープ

10年ぐらい前に買ったんですけどね。家では使ってても外に持ち運ぶことなんて考えてもいませんでした。

そして左側は・・・

道具その2:モバイルモニター

 やはりA4サイズのPCは持ち運びしやすく、キーボードのピッチも最低限守られているのでモバイルPCとしては最高なサイズなんですが、プログラミングするには物理的に画面が狭い!画面切り替えるたびに前の情報を忘れる!あと、オシロも積んだのでオシロ用画面も欲しいと思いまして。

 これも古いモバイルモニターです。PCを組み立てるときにすっごい便利なので買って使っていたものです。

 ケーブル類が多いのは、USBオシロとモバイルモニタの電源を追加しているからです。PCをACアダプターで接続しておけば電力は足りるだろうとは思うのですが、やはり電気屋としては内部で5Vをどれだけ供給できるような回路になってるかわからない以上、外から電源を取らないと怖いんですよ・・・

 ちなみに、ACアダプター類はすべて220V対応のものを選んでますから、これ持って世界中いけますよ~

 

 緊急時にはこの箱をぱっと持って出発できるという。まさにEMSBOXです。赤やオレンジのカラーリングならまさにEMSBOX!

 パート2はアイデアはあるのですが、作ろうかなーどうしようかなーという感じで迷っています。