PICシミュレータ

今日、実験がアナログ回路からPICに切り替わった。んでちょっとやって思ったんやが、大学でやってるだけやったら多分十分にはできん。部室にあるけどやっぱり自宅でやりたい。

という訳で、16F84Aのシミュレータを探した。
シェアウェアのよくできたやつとかもあったが、GPLなやつでpsimとかいうのがあって、更にそれにGTK+で皮の付いたgpsimというのがあった。で、これが更にWindows版パッケージまであるという至れり尽くせりの状況やったんで使ってみた。

Cygwinで入れるのがお薦めとかなんとか書いてあるが、とりあえず上記(下)のURLのSnapshotに必要なdllが全部入ってるような雰囲気。ただし、俺の環境ではGUI起動時*1にlibcairo-2.dllで変なエラー*2が出たんで、GIMPのところで配ってるlibcairo-2.dllと差し替えたら動いた。謎や…。
何はともあれ、演習室で作ったサンプルプログラム(hex)を食わせてみる。まずCPUタイプを選ばんといかんので、-p=16f84 なオプションを付けて起動するようにする*3。bat書換えてもいいかも。GUIでソース見ようとしたりしたら動作が不安定になる(というか落ちる)*4が、HEXファイル読み込んで動かすだけなら問題なし。レジスタWatchなんかもできて良い感じ。

ともかく環境ができたんで、アセンブラも欲しい*5。というわけで、gpsimと親和性が高いらしいgputilsもインストール。MPASMの置き換えとか言ってるし、実験との互換性も良さげ。これもWindowsのパッケージがあって楽々インストール。

ちなみにGNUなPIC関連ソフトがいっぱいあるGNUPICなるページがあった。このへんからCコンパイラも探してみるかな…。ふむ、SDCCというのでサポートされてそう。しかし、どうやって書くんやろう…?

*1:GUIオフなら問題なし

*2:cairo_win32_surface_create(bad BITSPIXEL):必要なメモリが足りませんとか何とか…。メッセージに反して、メモリは関係なかった。

*3:16f84aは残念ながらないが、動いてるからええやろ。つーか、どこが違うんか知らん。

*4:外れbuildやったらしく、その後のbuildでは動いた。

*5:勿論MPLABのMPASMでもいいわけやが。