2007/01/09 火

VirtualServerのゲストOSにFreeBSD

VirtualServer2005R2のゲストOSにFreeBSDを入れてみたところ、時計が速く進むので萎えた。。。
googleで調べてみると、同じことで悩んでる人はいるが、これで解決という決めてにかけて、決着がつかなかった。
といわけで、私の備忘録としてやったことを列挙しておこう。

FreeBSD4.11
そのままでは、時計が2〜3割早く進む。ntpdateで合わせるとしても限界がある。
APMや、シリアル、パラレルは、カーネルで無効にしてある。

1発目の実験
/etc/sysctl.conf
kern.timecounter.hardware=i8254
これは効いた。でも、microuptime() went backwards が、ぽろぽろと発生する。
また、
microuptime() went backwards (949.141279 -> 253.763991)
といった感じで、結構なズレがある。

2発目の実験
/etc/sysctl.conf
kern.timecounter.hardware=i8254
kern.timecounter.method=1  <追加
これをしたら、
microuptime() went backwards (7437.847218 -> 7437.845208)
こんな感じで、微妙なズレになった。

3発目の実験
2発目でやった、sysctrlに加えて、カーネルコンフィグに以下を追加
options CLK_CALIBRATION_LOOP
options CLK_USE_TSC_CALIBRATION
options CLK_USE_I8254_CALIBRATION
options NTIMECOUNTER=20
なんか、microuptimeが出る頻度が下がった気がする。

最終的に1日動かして、1秒〜3秒程度のズレ(実機並)になったが、
dmesgには、microuptime, たまに、 calcruが出てウザイ。
根本解決になっていないけど、カーネルのメッセージを出す部分をコメントアウトしてしまった(汗
/usr/src/sys/kern/kern_resource.c と、kern_synch.c の2つがそれにあたる。

今のところ安定稼働しているが、ちょっと不安。

FreeBSD6.1でもためしたが、こちらもi8254にし、Kern.Hzを100にすれば安定した。ただし、calcruは多発するので、メッセージを殺すなりしたほうがいいかもしれない。

2007/01/01 月

元旦

さいきん、さっぱり更新しておりませんでした。ネタ切れです(笑

それはともかく、本年もよろしくお願い致します。

2006/11/29 水

続bb-shout

bb-shoutは快適に使えているが、1点、気に入らない点がある。
エラーになると、再接続してくれない。BGMを流しているときにエラーで止まられると、いちいちリセットしなければならない。これは面倒。
なので、PICをつかってリセットをかけるようにした。
●動作
・エラーLEDが点灯したら、リセット待機動作に入る。(10秒待機)
・リセット待機動作中、MenuやMuteボタンが押下されたならば、リセット待機時間しきりなおし(ボタン操作より10秒に再セット)
・無操作が10秒続いたならば、自動的にリセットを行う。
といったロジック。
今後、使いながら少しづついじるかもしれず。
たとえば、リセット待機時間を10秒以上にするとか、リセット待機中にMenuや、Muteボタンが押されたならば、リセット待機動作を完全にやめるとか。
(すなわち、エラーLEDが消灯するまでは、なにもしないようにするとか)
まぁ、現状のプログラムでもはるかにマシなので、このままかも。
19:30修正---
結局、なんらかのボタン操作が行われたら、リセット動作はキャンセルするようにした。
ボタン操作ができるということは、リセットもできるということで、自動リセットする必要がないからだ。

bbs.jpg

欲しい人いないとは思うけど、一応、HEXを(ロジック変更版)
bb-shout.zip

PIC 12C509A用。秋月で150円で売っている。
このあいだ買った、PIC開発ボード(BASIC)で作ろうと思ったんだけど、12C509は非サポート! しかたなくアセンブラで書いた。12C509は、PSのアレの開発に燃えていたときにいっぱい買って余っていたので使った。
プログラムは秋月のPICライターで書き込み可能。

ピンアサインは、
Pin1 : +5V
Pin2 : ERROR LEDへ(R12の、LEDではない方へ接続)
Pin3 : MENU/SET (R19のスイッチ側)
Pin4 : Mute/Cancel (R13のスイッチ側)
Pin5 : リセット待機表示LED。LEDのカソード側を接続。アノードは、470オーム程度の抵抗を通して+5Vへ。
Pin6 : 未使用
Pin7 : Reset (R32のスイッチ側)
Pin8 : GND

といった感じ。

2006/12/16 修正---
手元のPICがなくなりましたので、PICを譲ることができなくなりました。
PICライターを持っていない人は、持っているお友達にお願いするか、
秋月のPICライターあたりを買って焼いてください。
当方では対応できませんので、よろしくお願いいたします。

2006/11/26 日

PIC開発環境

PIC開発ボードの類は、手がでないほど高く、当然コンパイラ等も個人が
買うには無理と思っていた。
http://www.mikroe.com/en/
ここのコンパイラ、開発ボードは値段が非常に安く、オプションも多いので衝動的に買ってしまった。
http://www.mikroe.com/en/offer/pic/easystart1/
実験してみたいなぁと思うものは、ボードに一通り乗っているし、コンパイラもついて$250、これは破格値だと思う。
コンパイラについては、あまり大規模のものを作るわけでなければ、評価版で十分なので、こちらの開発ボードだけでも良いかもしれない。
http://www.mikroe.com/en/tools/easypic4/
こいつだけだと液晶こみで$150。そこらで売られている開発ボード買うのがあほらしくなってしまう。

コンパイラについては、ちょっと使ってみたが、BASICというより、Cに近いと思う。秋月のPIC-BASICとはまるっきり別物。
グラフィックLCDプログラミングも、非常に簡単。線も引ければ円も描ける。
もちろん文字も出る(といっても、英文字のみだが)

これからちょこっとPICをいじろうという人には高いかもしれないけど、コンパイラはライセンスを買ってしまえば、永久バージョンアップ可能みたいなのでお得かもしれない。
イン・サーキット・デバッガーが開発ボードには載っているので、これから試してみたいと思う。

冬休みは、こいつであそぼっと。

2006/11/07 火

bb-shout

ちょっと気になっていたweb-radioキットを買ってみた。
http://bb-shout.tristate.ne.jp/
秋月で8200円、お手ごろ価格かな。
この手のweb-radio単体機は、色々あるけど、どれも大体3万円前後位するので
手が出せなかった。
他を知らないので比較できないけど、値段の割に良い感じ。
音切れもなく、問題なく使えている。
パソコンいらずで単体使用OKなのが気楽でいい。インターフェイスは、想像よりも良く出来ている。
ヘッドフォン接続前提なのか、カップリングは大き目の電解を使うようになっている。私は、転がっていたBGに変更し、終端抵抗は大きめの値にしている。
残念なのは、デジタルアウトが無いこと。これは石の仕様なのであきらめるしかないけど、たまには、ピュアオーディオにこだわらないで、こんなのもアリかなーと思った。
ケースに入れたいところだけど、あまりお金をかけたくないので思案中。

2006/10/23 月

44ステップ対応プログラム

44ステップの対応となります。
軽くしかテストしてませんので、リスキーです。自己責任でどうぞ。
RN65D用のプログラム、HOLCO_PRP用のプログラム、汎用のプログラムと
系3本入っています。
また、自分でリレーを組み合わせたい人用に、簡単にプログラムを作れる
エクセルファイルも入れてあります。ご利用ください。
ノーサポートでお願いします。バグ報告は大歓迎です。

2006/10/23 22:40 バグってました。修正。。。ひろせさんThanx!
44Step_att_v12.zipプログラム一式ダウンロード
<< 38/49 >>