トップ 最新 追記
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2007年04月02日

usleep実験再び

3年前に実験したときに usleep(1) は結構長くSLEEPすることがわかった。最近のカーネルではどうなっているか調べた。2.6.8-3-686-smp と 2.6.15-sh で、それぞれHZを100と1000にして実験を行った。
結果はですね、
usleep(1) は 2 jiffy 待つ
ですよ、やっぱし。(sleeptest.c)
SWEET

ということはですね

Diskに対するFile I/O で -o sync オプションをつけてマウントしていたら、たとえ1バイトの書き込みでも2jiffy待たされるってことです(読み込みはバッファキャッシュが効く)。なぜかっつーとプロセスが(Diskのアクセスタイム待ちのため) TASK_RUNNING な状態を外れて TASK_INTERRUPTIBLE になるとDiskの割り込みで起床されても再スケジュールされるまでに2jiffyかかるからです。通常のHZ100の場合は20msec つまり CPUやDISKの性能がどんなに優れていても 50回/秒 しかファイル書き込みできないてことです。syncの場合は。


2007年04月03日

usleepの話

昨日の実験で usleep(1) は 2jiffy寝ると書いた。次に「Diskに対するFile I/O で -o sync オプションをつけてマウントしていたら、たとえ1バイトの書き込みでも2jiffy待たされる」と書いたけれど、これは正確性にかけると思われる。

usleep(1)の場合は
・現在時刻を1tickに切り上げる(ここで1tick)
・1usec先(をtickに切り上げる)にソフトウェアタイマーを仕掛ける(合計2tick未来時刻)
・寝る
というロジックであれば予測どおりになるのだが、Diskの方はDiskからの割り込み契機で TASK_RUNNING に戻るので、その次の schedule()の呼び出しで起床されるチャンスは十分にある。具体的にいうとDiskの割り込みによって呼ばれた entry.S の戻りパスである。よって追試が必要になった。

CFへのファイルライト実験結果

条件
     プラットフォーム CAT709  (SH3 117MHz)
     FAT フォーマットされた CF を -o sync オプション付きでマウントする
     HZ は 100
結果
     write(fd, &dummy, 1)  1バイトライト
     の平均時間は 3.41 msec
sync付きだと書き込みバッファキャッシュを無効にするのでwrite()は書き込みが終わるまで待機してから抜けてくる。SH3 CPU速度にひきずられているのではなく、CFのアクセスタイムに引きずられていると思われるが、とにかくも20msecかかるということはなかった。

2007年04月04日

ワークショップやります

有料になってしまいますが来週の木曜日に秋葉原でワークショップを1コマ担当することになりました。CQ出版社主催の展示会です。ご案内いたします。
https://it.cqpub.co.jp/tse/200704IF/
https://it.cqpub.co.jp/tse/200704IF/conferenceC.asp
タイトル A-6
  性能を引き出す組み込みLinuxのプログラミング技法
  〜割り込みレイテンシの改善とリアルタイム応答への対応〜
 
日時 2007/4/19(木)17:30-18:30
場所 秋葉原コンベンションホール(秋葉原ダイビル) 
     組み込みプロセッサ&プラットフォームワークショップ
1セッション 6000円
 
 ◆セミナー概要
既存のLinuxのデバイス・ドライバの中には,割り込みを長時間禁止し,ユーザ
が作成したドライバの割り込み応答性に悪影響を与えるものが存在します.これ
ら既存のデバイス・ドライバを改造しようとすると,余計なコストが発生します.
そこで,本講演では,SH-Linuxを例に,割り込み優先度の概念を導入して割り込
み応答性を高める方法とその事例を紹介します.  

2007年04月05日

間違いは600万件に1つ

Wikipedia ダッバーワーラー
家庭の味をオフィスに届ける。インドのおそるべしローテク弁当配達サービス。間違いは600万件に1つあるかないかだそうな。
しかし朝弁当を持って出かける人は少ないのだろうか。

117MHz

ふと米田聡さんの昔のネット記事などを読み返していたら、32bitRISCプロセッサ SH3の117HzやらSH4の200MHzをいつでも自由にいじって触れてI/Oまで工作できる環境があることに感謝の気持ちがわいた。

もっと楽しまなくっちゃ。


2007年04月08日

F1マレーシアGP

マレーシアGPは去年見に行ったこともあってなかなか思い入れの深いグランプリだ。今年のチャンピオンシップの注目は(ミーハーだけど)キミライコネン。しかし今回のMVPは誰しもが思うところであるがルイス・ハミルトンだろう。ルーキーとは思えない走りでフェラーリの2台を見事に押さえ、堂々の2位。マクラーレンの1,2に貢献した。かつてのバリチェロのように、最強セカンドドライバーの誕生かもしれない。ひょっとしたらこのままマクラーレンが行くのか。90年代終わりの頃のように。


2007年04月09日

都知事選

当然私には選挙権はないわけだが全国注目の都知事選。当然ニュースを見ていた。しかし開票5分で当確。なんだそりゃ。一夜明けて公式結果が出てた。
http://www.senkyo.metro.tokyo.jp/h19tijisen/tiji_kekka/h19chi_kai.html
ソートしてみた
石原  慎太郎  2,811,486  (51.1%)
浅野  史郎    1,693,323  (30.8%)
吉田  万三      629,549  (11.4%)
黒川  紀章      159,126  (2.89%)
ドクター中松     85,946  (1.56%)
桜  金造         69,526  (1.26%)
内川  久美子     21,626  (0.39%)
外山  恒一       15,059  (0.27%)
高橋  みつる      5,558  (0.10%)
おがみ  おさむ    4,020  (0.07%)
山口  節生        3,589  (0.07%)
高島  龍峰        3,240  (0.06%)
佐々木  崇徳      2,845  (0.05%)
鞠子  公一郎      1,373  (0.02%)
蓋を開けてみたら投票所へ行った人の二人に一人は慎太郎に投票したって事か。それにしてもやはりTOP4ではなくTOP3だったな。

2007年04月16日

CAT709/CAT760

Cygwin で kernel (linux-2.6.15)コンパイルをする
scripts/kconfig/conf.o:conf.c:(.text+0x91): undefined reference to `_libintl_gettext'
scripts/kconfig/conf.o:conf.c:(.text+0xa5): undefined reference to `_libintl_gettext'
scripts/kconfig/conf.o:conf.c:(.text+0xb9): undefined reference to `_libintl_gettext'
scripts/kconfig/conf.o:conf.c:(.text+0x7b8): undefined reference to `_libintl_gettext'
scripts/kconfig/conf.o:conf.c:(.text+0xeed): undefined reference to `_libintl_gettext'
scripts/kconfig/conf.o:conf.c:(.text+0xf1e): more undefined references to `_libintl_gettext' follow
対策
scripts/kconfig/Makefile の先頭に1行追加
HOST_LOADLIBES := -lintl

2007年04月18日

DebianCD

祝etchリリース。Sarge(3.1r6)がなくなる前にゲットしておかねば
http://us.cdimage.debian.org/jigdo-area/

2007年04月25日

独立行政法人中小企業基盤整備機構

http://www.smrj.go.jp/

痔で有名な?

さきほど通りを歩いていたら中高年男性に道を聞かれた。

「あのう、この辺の痔で有名な、のxxxという病院を知りませんか?」

わざわざ痔で有名なって言わなくたっていいじゃない。それとも俺が痔で有名な病院を知っているように見えたのかな。私は痔で有名な病院にお世話になっていないけど、そのおっちゃんがあまりに痔で困っているような顔をして聞いてくるので申し訳なく思えた。


2007年04月26日

なぞの観覧車

名古屋から新幹線に乗り込み、東京へ向かう。出発して一息くらいついた頃、右手に小さな観覧車が一瞬だけ見える。辺りには高い建物がないので、カラフルなそれはひときわ目立ってみえる。
ずっと気になっていたので調べてみた。 安城市堀内公園だということがわかった。あの観覧車は100円だそうだ。

2007年04月30日

圧電スピーカ 小さな音しか出ない→解決

圧電スピーカ(圧電ブザー、圧電サウンダ)を鳴らそうとした。簡単だろうと思っていた。適当に買ってきたものは京セラ製 KBS-20DB-5A だった。仕様を調べるとf0=5KHz, 10Vp-p, C=10nF だそうだ。マイコンの出力は3.3Vなので直結では音量が少し足りないように思うので5Vで鳴らすためTr 2SC1815で簡単な回路を組んだ。

・・・ありゃりゃ、ぜんぜん鳴らない。耳を近づけると、かすかに小さな音が出ている。おっかーしなー。何が間違っているんだろう。入力抵抗が高すぎるのかな?いやいやそんなことないだろう。hfeが足りない?いやいやそんなに電流は流れないはずだ。共振周波数から大きく逸脱している?オシロスコープで波形を見てみると、入力は間違っていない(適当な発振周波数を与えている)。しかしコレクタ側がGND張り付きで動かない。ん〜。これはどういうことだ?この日は圧電スピーカの故障/断線かなと考えた。

しかし断線ではなかった。圧電スピーカってインピーダンスがめちゃくちゃ高くて、直流抵抗はほぼ無限大を示すようだ。冷静に考えてみたら、コイツはコンデンサと同じものなのだ。そうか。電流駆動することが間違いだったらしい。

というわけで負荷抵抗R2をつけて、R2の両端電圧を加えたところ正しく鳴った。結論。圧電スピーカは電流駆動ではなく電圧駆動である(コンデンサと思え)。図のR2は1Kとしているが実際は10K〜100K程度でも大丈夫だろう。要するに圧電スピーカ(=コンデンサ)の静電容量Fがその周波数で十分放電できればよいはず。

TOEIC

第131回TOEIC公開テスト 2007年06月24日(日)
次こそはちゃんと勉強して受ける