2010年11月30日火曜日

MacでPK2Cmdを使う

前回の続きですが、「プリント基板で作るPIC応用装置」の中で紹介されている、PIC24FJ64GA002を使ったテレビ表示装置を作ってみることにしました。
#部品は、我が子と都内へ出かけたついでに買ってきました。

まずは、MacからPIC24FJ64への書き込みが可能かどうか調べてみると、PICkit2のサイトから(前回使った)Macに対応した「PK2CMD V1.20 Mac OS 10.4 & 10.5 Universal Binary」をダウンロードしてインストールすればよいことがわかりました。とはいえ、インストーラがある訳ではないので、ターミナルからCUIで作業ができるように、手作業で必要なファイルをコピーすることにしました。

PICkit2のサイトからダウンロードしたPK2CMDの.zipファイルを展開し、ターミナルを起動して展開したフォルダへ移動してから、以下のコマンドでそれぞれのファイルをコピーします。

$ sudo cp pk2cmd /usr/local/bin
$ sudo mkdir -p /usr/local/share/pk2
$ sudo cp PK2DeviceFile.dat /usr/local/share/pk2/

この後、「cd」で自分のユーザフォルダに戻って「.bash_profile」をviで開いて編集します。書き加えるのは、次の一行です。

PATH=/usr/local/share/pk2:$PATH

これで無事に使えるようになりました。試しにターミナルで「$ pk2cmd」と打ち込むと、ヘルプが表示されます。(表示されなければインストールがうまくいっていません)また、「$ pk2cmd -P」とすると、PICkit2につながっているPICの種類を表示します。(見つからない場合は、PK2DeviceFile.datへのパスがうまく通っていません)

最後に「プリント基板で作るPIC応用装置」のサポートサイトからテレビ表示装置用の.hexファイル(.zipファイルに圧縮されている)をダウンロードして自分のユーザフォルダに展開し、以下のコマンドでPIC24FJ64に流し込んでみました。

$ pk2cmd -P -F/Users/<ユーザ名>/ntsc-video/ntsc-video.hex -M -R

これで「KnutPK2(クヌートピーケーツー)」が対応していないPICにも.hexファイルを流し込むことができるようになりました。調子に乗って、「8ピンPICではじめてのマイコン工作を始める」とPIC12F683を購入して、ユニバーサル基板で何か作ってみようと思っています。

2010年11月8日月曜日

Mac & LinuxでPIC開発環境を構築する

以前から気になっていたMicrochip社製のマイコンであるPICを使った電子工作やフィジカル・コンピューティングに挑戦してみようと思い立ち、MacやLinuxで何ができるのか調べてみました。Winなら簡単にPICの開発環境が構築できるようですが、MacとLinuxしか使っていない私は、まずはメインで使っているMacでPICの開発環境を構築するために、あっちこっち調べ回って次のサイトを見つけました。

Mac OSXでPICプログラミング

ここに書かれていることから、とりあえずMacでPICの開発環境を構築することが無理なことではないということがわかったので、教材として「プリント基板で作るPIC応用装置」を購入し、部品を集めて電子工作することにしました。抵抗やコンデンサなどは自宅に在庫があったので、重複して買うのはもったいないと思い、キットではなく足りない部品だけを買い集めることにしました。
#詳しくは、ラトルズのサポートページをご覧ください。

PIC開発環境の構築は、HI-TECHソフトのWebサイトからPIC用のCコンパイラ(正しくは「HI-TECH C for the PIC10/12/16 MCU Family」という名前で公開されている)をダウンロード(ユーザ登録してからログインする必要あり)して展開するところから始めました。すると、「picc-pro_9…」からはじまる.run実行ファイルが現れるので、これをコンソールで「chmod +x(実行権限を加える)」して「./」をつけて実行します。これで、自動的にインストール作業が進んで行くのですが、途中、ライセンスについて同意を求められたり、自分の環境に合わせてどこにインストールするのか聞かれたりするだけで、無事にインストールは成功しました。
#「久世に訊け!!ver.2008」の「HI-TECH C PRO for the PIC10/12/16 MCU family(Lite)」を参考にして作業を進めました。
#「./docs/licence.txt」と表示されたら、キーボードの下向き矢印を押すと続きが表示されます。

ここで、HI-TIDEを探しましたがいくら探しても見つけることができなかったので、「久世に訊け!!…」の記述を信じてXcodeでPIC用Cコンパイラを動かすことにして、先に進めることにしました。

次に、秋月で購入したPICkit2でPICにプログラムを流し込むソフトを導入します。PICkit2のWebページの下の方にある、「pk2cmd(Mac版およびLinux版は非サポートでVer.1.20)」というコマンドラインベースのソフトウエアをダウンロードして展開します。ありがたいことに、先の「久世に訊け!!…」のサイトに、「KnutPK2(クヌートピーケーツー)」というGUIツールが公開されているので使わせてもらうことにしました。

これで、「プリント基板で作るPIC応用装置」で紹介されているいくつかのものは、作れそうです。問題は、KnutPK2がサポートしているPICマイコンの種類が少ないこと。きっと、よく使われるものだけに限定しているのだろうと思いますが、「プリント基板で作るPIC応用装置」で紹介されているものの中に、サポート外のものがあります。また、Gainer miniで使われているPIC18F2550も使ってみたいと思っていますが、これもサポート外です。GUIのツールがダメなだけなので、コマンドラインで使えばよいのかもしれませんが、Macらしくない感じがして微妙な気分です。

【追記】PICのユーザーズガイドを読んでいて、「Eclipse」で開発環境を構築できることがわかってきました。早速、Mac&LinuxでEclipseを導入し直して、PIC開発環境を構築してみました。「POINT YOUR DRAGON」(英語)というサイトがとても参考になりました。これを見ると「GPUTILS」や「SDCC」を使うとよい感じだということがわかりました。幸い、UbuntuのSynapticパッケージマネージャからダウンロード&インストールが簡単にできたので、これを使ってみようと思っています。MacでのSDCCの使い方は、「久世に訊け!!…」がわかりやすいです。ちょっと古いのですがsdcc 3.x系を使えば問題ありません。(2010.11.10)

2010年11月5日金曜日

KNOPPIXのsources.listを直しました

KNOPPIX 6.xのSynapticパッケージマネージャでソフトの更新ができなくなってしまっていましたが、先ほど、気になっていたaptのsources.listの設定の仕方について検索して、以下のサイトを参考にしながら、KNOPPIX4Robo(HDDインストール済)の「/etc/apt/sources.list」を編集してみました。
Linuxゲリラ戦記
Debian JP Project

書き込んだ内容は以下の通りです。

deb http://ftp.jp.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

sources.listの中身がごちゃごちゃしていて、重複しているものもあったのできれいに整理しました。すると、Synapticパッケージマネージャが落ちなくなって、更新作業ができるようになりました。やはり、整理・整頓というのは大切なんですね。(しみじみ)

次は、KNOPPIXがインストールしてある20台ほどのラップトップPCの更新作業が控えています。これまで、手つかずの状態だったのですが、時間を見つけて作業をしたいと思います。

ちょっと疑問なのは、Scratchのdebパッケージがいつも削除の対象になることです。PulseAudioの設定につまずいているのはわかっているのですが、それにしても更新のたびに削除されたのでは困ります。これも何とかならないものかと思っています。

【追記】安定版だけだとあまりにも古い感じなので、テスト版も含めることにしました。追加したリポジトリは以下の通りです。

deb http://ftp.jp.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free

ついでにvolatileも復活させました。

deb http://volatile.debian.org/debian-volatile stable/volatile main
deb-src http://volatile.debian.org/debian-volatile stable/volatile main

これでもちゃんと動いてくれました。(2010.11.7)

2010年11月4日木曜日

KNOPPIX4RoboをUSBメモリにインストール

これまで更新作業を行ってきたKNOPPIX4RoboをUSBメモリにインストールしてみようと思い立ち、2GBのUSBメモリを2つ用意して作業を開始しました。

もともと、KNOPPIX 6.0.1をベースにして作っているので、KNOPPIX4RoboをCDブートしてUSBメモリを挿し、「システムツール」メニューから「Install KNOPPIX to flash disk」を選べばO.K。のはずだと思ってやってみたのですが、USBメモリへのインストールはできるものの、いざ起動しようとするとX Windowがうまく起動しません。以下のサイトを参考に(ちょっと古い感じだけど、このくらいしか見つからなかったので)チートコード付きで起動を試みました。
http://www.eng.tohoku-gakuin.ac.jp/knoppix/cheatcode.html
http://www.aichi-c.ed.jp/apecknoppix/base34r2/knoppix_chap1.htm

とにかくいろいろと試してみましたが、納得が行く結果は得られず、「knoppix 3」でCUIでの起動には成功したものの、それじゃあ意味がないという感じ。いくつかの違うPCで試してみましたが、どれも似たような結果でまともに起動しません。

CDからは起動できるのに、USBメモリからは起動できないということは、CDのイメージが丸ごとUSBメモリに反映される訳ではないということか、あるいは、CDの場合とUSBメモリの場合とでは起動の仕方が微妙に違っているということか…などといろいろ考えてみましたが解決策が見えません。もう少しがんばってみようと思いますが、消耗戦になりそうです。