上へ
開発メモ2002/05/31 OPUSER 2000 いまいち・・・OPUSER 2000 が届いたので使ってみました。立派な箱にスカスカ状態で EDWin2000 の CDと OPUSER2000 アップデート CD-R、 英語のスタートアップガイドが入っていました。 EDWin をインストールしてから OPUSER アップデートを当てる手順でした。 EDWin と OPUSER の違いは
操作感は慣れだけの問題かもしれませんが、私にとっては、グループに対する操作が面倒、 パーツ選択が面倒(マウスを慎重にあわる必要あり)ネットの接続、分断が面倒、 たまに飛ぶ、画面スクロールできない?操作を選んでから対象を選ぶ操作系に馴染めない、 といまいちでした。 低価格統合 CAD というメリットは捨てがたいものの、OrCAD の代替にはならなそうなので、 この CAD の習得に時間をかけてもいいものか悩み中です。 一番いいのは、作者の好きなBschに 基板レイアウト、NCデータ出力、オートルータ、機能をつけることなんだろうけど ・・・そんな時間も実力もないし。 2002/05/26 ブルガリア現在基板の設計をしています。通常基板を起こすと初期費用10万くらいかかり、 1品ものが多い作者の場合なかなか手が出ませんでした。そんなわけで、あまり そっち方面の環境整備をしてこなかったので、調査することに。ブルガリアの基板製作会社olimex、 (ファンページ) がどうもその筋では有名らしい。100x160mm(面付け自由)両面スルーホール基板が$26+$8(送料)。 4個取りすれば1個約千円! 発注には通常の基板発注と同じようにガーバデータとNCドリルデータ、 またはeagle の brd データが必要らしい。 今まで OrCAD の基本機能のみで設計していてガーバデータを作れる環境を整えていなかった のと(いや滅多に作らないし(^^;)、 OrCAD も最近は機能が増えずに、バグが増えて、値段が増えて、ライセンス制約が増えていく 傾向があるので、ネット、レイアウト連動、出来ればオートルート機能付きの CAD を探してみました。 フリーでは eagle 100x80mm制限版だけ(ライセンス上商用利用するには+$49)、 製品ではOPUSER2000が現実的という状況らしい。 (移植元と思われるEDWin XP/2000は $299〜$499 なので、日本語コメント機能が必要ない場合は EDWin XP/2000 を買うという手もある かも知れません)←業務用を含めると $299 〜 $3000 でした。 eagle を使ってみた感想
仕事で使うには安定性と、ユーザーインターフェースの問題(人間側投資大)が致命的かも。 ちなみに他の OrCAD,P-CAD,Protel のレイアウト、オートルータ機能付きは作者では償却 できそうにない値段なのでパス。リーズナブルな価格設定で自作派には結構ファンの多い WinDraft,WinBoard もオートルータは Specctra で値段はのっていないけどどう考えても高いのでパス。 数個オーダー基板製作数だと OPUSER2000 で図面、部品表、ガーバデータ作成、 olimex で基板製作、部品手配実装はいつも通りというのが楽々環境になるのかな? 2002/05/15 linux環境設定(1)中国導入の linux 設備。起動後1枚目のフロッピーしか認識しないと言われる。 マウントし直さなければそうなるのは当然なんだけど・・・中国のアルバイトの おねーちゃんがフロッピーを抜く前に "umount /mnt/floppy" とコマンドを打つ姿は想像できない(なにか間違っている)ので、抜け道を探す。autofs を発見、Kylix のおまけについていた Laser5 linux 6.4(ftp版) の RPM をインストールしてみました。 設定ファイルの変更 [/etc/auto.master] /mice /etc/auto.misc --timeout 1 [/etc/auto.mice] ... floppy -fstyle=auto,umask=0 :/dev/fd0 ...アンマウント方法は autofs プロセスに SIGUSR1 シグナルを送るなどの方法が 綺麗なようですが、単純にタイムアウトを1にしてしまいました。 デスクトップのフロッピーアイコンのリンク先を /mice/floppy にすると こんな感じでは使えるようになりました。
追記、フロッピーへのコピーの場合に Operation not permitted となってしまうので、 floppy -fstyle=auto,uid=[UID],user :/dev/fd0とする方が良いようです。 参考サイト それにしても、よく我慢して使ってたな←おぃ。 2002/05/02 KylixバグKylix,Kylix2 例外関連バグ。try finally 文の仕様は「生成された例外が finally で処理されない場合,その例外は try...finally 文を越えて伝わり,try 節で既に生成されている例外は失われます。したがって,ほかの例外の伝播の妨げにならないよう,ローカルに生成された例外はすべて finally 節で処理するようにしてください。」 ということになっていますが、実際にローカルに生成された例外を finally 節で処理しようとすると、 セグメンテーションフォールトが発生して、プログラムが落ちてしまいます。
try
raise Exception.Create('');
finally
try
raise Exception.Create('');
except
end; //ここでセグメンテーションフォールト
end;
言語仕様部分なので自力修正はあきらめていたのですが、 機械語レベルでは raise 文は System.pas の _RaiseExcept 関数呼び出し に展開されていたため追跡することにしました。
*** System.pas Thu May 2 12:59:17 2002
--- System.new Thu May 2 12:58:55 2002
***************
*** 10217,10222 ****
--- 10217,10225 ----
}
CALL CurrentException
OR EAX, EAX
+ JNE @@Done2
+ CALL UnblockOSExceptions
+ JMP @@Done2
JE @@Done2
CMP [EAX].TRaisedException.HandlerEBP, EBP
JA @@Done2
Kylix2 の System.pas を元にしているが、FreeCLX でも変更点は同じ 特定のプロジェクトだけ変更する場合 [t_kumagai@zob sample]$ source /usr/local/kylix2/bin/kylixpath [t_kumagai@zob sample]$ cp /usr/local/kylix2/source/rtl/sys/System.pas . [t_kumagai@zob sample]$ patch < /home/t_kumagai/System.patch [t_kumagai@zob sample]$ ln -s /usr/local/kylix2/source/rtl/sys/objs/ [t_kumagai@zob sample]$ dcc -y -u/usr/local/kylix2/source/rtl/sys/ System.pas [t_kumagai@zob sample]$ startkylix & Kylix:ツール 環境オプション ライブラリ ライブラリパスにカレントディレクトリ追加 ./:/usr/local/kylix2/lib:/usr/local/kylix2/bin プロジェクトを再構築する。 ライブラリごと変えてしまう場合 [t_kumagai@zob sample]$su - [root@zob root]# cd /usr/local/kylix2/source/rtl/sys/ [root@zob sys]# patch < /home/t_kumagai/System.patch [root@zob sys]# dcc -y -N/usr/local/kylix2/lib System.pas [root@zob sys]# dcc -y -p -N/usr/local/kylix2/lib System.pas [root@zob sys]# dcc -y -N/usr/local/kylix2/lib/debug -$D+ System.pas [root@zob sys]# dcc -y -p -N/usr/local/kylix2/lib/debug -$D+ System.pas dcc オプション詳しく追ってないが FreeCLX の Makefile では -q -z -m も付いていた。 IDE は /usr/local/src/runimage/ 以下を参照しているようなのでそちらも変更 [root@zob root]# cd /usr/local/src/runimage [root@zob runimage]# mv kylix2 kylix2.back [root@zob runimage]# ln -s /usr/local/kylix2 |