トップ 最新 追記
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)

2006年02月02日

うおぉ2月

1月は行く、2月は逃げる、3月は去る。2006年も12分の1が終わってしまった。1月に積み残してしまったことが2,3件ある。こうやって少しずつずれていって、1年で正味11ヶ月くらいしかアウトプット出来ていないのだな。いつも反省ばかり。

SH Linux

2.6.14頃から、shマシンベクタから
mv_isa_port2addr
が消えてしまった。がぁぁん。汚いコードの原因だったのは分かるが便利だったのに・・しくしく。mv_ioport_map()にしろと。2005/12/17のPaulさんのメッセージによると、landiskやtitanのio.cを参考にしろ。。。と言われている。
  void __iomem *(*mv_ioport_map)(unsigned long port, unsigned int size);
  void (*mv_ioport_unmap)(void __iomem *);
少し調べた
  inb()  は
  __inb() となり
  u8 generic_inb(unsigned long port)
  {
        return ctrl_inb((unsigned long __force)ioport_map(port, 1));
  }
  となる

2006年02月03日

SH-Linux

linux-2.6.15 対応になりました。
26環境_CDROM履歴
-linux-2.6.15-cat_20060204.tgz
	・2.6.15対応-test1版
	・CAT709/CAT760 で起動を確認
	・rommode ro時にダンプメッセージが出る不具合を修正した
	・CAT709/CAT760 両方とも pcmciaが動いた(CFはOK. ただし無線LANはNG)
今回カーネルの CAT709/CAT760 コードをかなり共通化した。これで今後が楽になる。

CAT760

CAT760の情報をアップロードしました
http://www.si-linux.co.jp/product/

2006年02月07日

裸眼会

kinnekoさんの日記経由。視力0.1以下の人がメガネを外してのoff会。
http://portal.nifty.com/special06/01/19/
『いつもより顔が近い』
だってさ。こういうばかばかしいOFF会楽しそう。俺も視力0.1以下だし参加資格あるな。

TOEIC

1月の試験、ネットでスコアプレビューが出た。前回比
まいなす70てん
ああうぅ。かなり凹み。これが現実か。前回はまぐれだったか(ちなみに今回は自己平均点くらい)。悔しすぎるので次回3/26にリベンジ。

2006年02月08日

SH Linux

Linux PCMCIAがIRQを動的に割り当てるアルゴリズム.
drivers/pcmcia/pcmcia_resource.c
  int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req){
  :中略
  for (try = 0; try < 64; try++){  //なんで64までなのかは知らん
     irq = try % 32;               //irq_mask が int 32bitだから
     ret=request_irq(irq, 略);           してみてエラーが出なかったirqを使うことにする
なんて強引なんだ。その作戦(アルゴリズム)はPCでしか通用しないじゃん。実際SH3ではIRQ0〜IRQ15は未使用なのでrequest_irq()が全てエラーとなり動的割り当てに失敗する。対策としては、若いIRQ番号をdummy_irq_typeとかにして、仮にenable_irq()が通るようにして、irq_demux()を使って実際のIRQ番号にとばす。。。をやってみたけどスマートさに欠けるのでやめた。irq_demux()大嫌いだし。

2006年02月09日

事故にあいました

春日井某所を走行中、突然前方不注意の小型車が左から突っ込んできました。

現場見取り図
お互い20km/h以下の低速度走行。加害者は「一時停止をした」という(止まったんだろうね)。が、何を思ったのか突然 左側を見ながら(前を見ず)直進して衝突事故がおきた。

現場の写真。奥の一時停止義務のあるわき道から小型車(マーチ)が飛び出してきた。私のほうはセンターラインも引いてある優先道路。道路に私の車のパーツが飛び散っています。

横腹に突っ込まれてしまった私の車。悲しい。

事故被害その2

警察の現場検証、事実確認の後、連絡先交換。私も事故は初めてではないからやることはわかってるんだけど。いちおう物損としたけど、驚いて急に左を向いたときに首のすじをおかしくしたもよう。明日、病院にいって診察してもらうつもり。まじで首が痛くなってきたので人身事故に切り替えてもらう。

事故被害その3

相手方保険会社(M.S.海上火災保険=そのうち実名公開しよっかな)の担当者から電話があり、要約すると、
・事故責任は80:20である
・代車費用(レンタカータクシー代など)は出さない
・車本体修理費の80:20按分以外は一切何も出さない
という。完全に納得できない。
この状況で私に過失があるのか?
自分のほうの保険屋に電話するも『まぁそんなもんじゃないですか。修理費は保険で出せますよ(けど来年保険料あがるよ)。代車特約には未加入なので代車費用は出せない』という。まったく役に立たない。

事故被害その4

そもそもこのクルマは会社の備品なのです。実際、所有者は法人名義。通勤だけではなくお客様の場所への移動、送り迎え、納品など事業をするうえで必要な備品である。これを壊されて弊社としても黙っているわけには行かない。現状復帰さえしてくれればいいのだけど、誠意がないのでこちらも対策しないといけない。


2006年02月10日

事故

春日井市民病院に行った。頚椎損傷という診断書をもらった。交通事故の場合、健康保険が効かないらしい(国が補償するべきお金ではなく加害者が補償するお金だから)。というわけで自腹になった。驚いた。2万2千円もとられた(←悪徳医者じゃなくて市民病院で)。

事故

春日井警察に行って人身事故に切り替えてもらう手続きを着手してもらった。後日双方立会いで現場検証だって。また時間がとられるな。。。

事故

自分の保険屋に電話すると、『治療費の請求は先方の保険屋としてくれ。こちらは関与しない』と言う。まったく役に立たない。


2006年02月13日

SH Linux

よかった。そこらのPCショップで安く売っているPRISM2チップのCF無線LANカードはたいていのやつが動くことが分かった。ソフトウェア構成はlinux-2.6.15 + linux-wlan-ng、ハードウェアはCAT709, CAT760 で動作検証。CAT WIKI

事故

午前中 病院に行き、生まれて初めてMR検査というのを受ける。穴の中に吸い込まれる。マシンの音がウルサイだけで、痛くも痒くもない。

しかし、全身に電磁波を浴びてると考えるとなんだかイヤな気がする。パナ研の人だったら耐えらないだろうな。

事故

だんだんクレーマーになってくる自分がいる(笑)。この地方の事故サービスセンターの担当と話してても埒があかないので、本社のお客様相談ダイヤルに電話をかけ困っていると伝える。チクリは気持ちよくないが、少し効果があったみたい。事故サービスセンターの担当から電話があり、『レンタカー費用は過失割合分は負担する』と言ってきた。最初からそれが当然じゃん。


2006年02月14日

事故

中日ビルにある栄法律相談センターにて弁護士先生のご意見を伺う。ナント!交通事故に関しては無料で相談に乗ってくれるありがたい場所だ。日本の法律では過失割合10-0は難しいそうだ。これを勝ち取ろうとすると戦う相手が法律ってことになり方向性を見誤るので、加害者側との損害補償の内容を吟味するのが正しいとアドバイスを受けた。保険屋は役に立たないことが分かったので無用なことに忙しくなってしまいそうだ。

バレンタインデー

友人のいんちきダイバーさんの日記をみて爆笑した。こんなんだったらやってもらわなくていい(笑)

バレンタインデー


うちのkatoさんからはmade in Koreaのチョコを頂く。ていうか韓国土産ともいう。ありがとうございました。韓国にもバレンタインチョコの風習あるの?と不思議に思ったが、韓国にもバレンタインチョコ商戦もあるし、3/14ホワイトデーもあるし、おまけに4/14はブラックデーの風習らしいです。

2006年02月15日

CAT760

2/10にジミに発売開始しました。だって前日(2/9)に事故っちゃったんだもの。

今書店に並んでいるトランジスタ技術2006年3月号のP73に広告が載ってます〜。書店にお立ち寄りの際はひやかしにみてやってください。 製品情報はこちらからどうぞ

2006年02月16日

おとといくらいから花粉症がはじまりました。皆さんはいかがおすごしですか?今年は花粉の飛散が少ないと報道されてますが、くしゃみをすると首が痛いっつーのは困ったもんです(T_T)


2006年02月18日

CAT760

QtEmbeddedが動作している写真をアップロードしました
http://www.si-linux.co.jp/product/cat760/

2006年02月21日

CAT760

sh7760-ohci: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (SH7760)
sh7760-ohci: block sizes: ed 64 td 64
sh7760-ohci: initializing SH7760 USB Controller
sh7760-ohci sh7760-ohci.0: SH7760 OHCI
sh7760-ohci sh7760-ohci.0: new USB bus registered, assigned bus number 1
sh7760-ohci sh7760-ohci.0: irq 64, io mem 0xfe340000
usb usb1: Product: SH7760 OHCI
usb usb1: Manufacturer: Linux 2.6.15-sh ohci_hcd
usb usb1: SerialNumber: SH7760 USB
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
お、いい感じ。

CAT760

SH7760のohciかなり手こずってしまっています。ohciでバスマスターだからCPUの負荷が軽いなんて言ったの誰?SH7760はメインメモリにバスマスタで送受信できないのであんまり意味無い。8Kのシェアドメモリ専用のマネジメントoc_malloc() / oc_free()を作り、dma_pool_alloc() のラッパーを作ってCPUとHostControllerで共有するという結構あぶない橋を渡っている。ochiがあとちょっとのところまで来てるんだけど。。難しい。


2006年02月22日

CAT760

消費電流を測定した
 Linux起動後、アイドル時                  110mA
 Linux起動後、LAN稼働、CPU利用率100%      260mA
EB760の5V電源ラインで測定した。アイドル時110mAってのはすごいことだ。CAT709よりも低消費電流だし。CPU Vcoreを作るのにDC-DCコンバータを搭載しているのが効いている。

CAT760

  Vendor:           Model:                   Rev:
  Type:   Direct-Access                      ANSI SCSI revision: 00
が出るところまで来た。このさきdma_map_sgにて死ぬ。。。てかSH7760のohciでscatter-gatherやろうってのがつらい。linuxのusb-storageドライバがscatter-gather対応ハードウェア向きに書かれてる。どこをどうやっつけようか。

CAT760

いいアイディアが思い浮かばない。。scsiのスキャッタリングギャザーを殺して動作確認が取れてから本格的にohciをhackしようかとおもったけど、S/G無効には出来ない・・のかな??う〜ん困った。


2006年02月23日

面接

求人広告を出したところ多数の応募を頂いた。ありがとうございました。SE,PG未経験OKアルバイトも同時募集をかけたところ、特に19,20といった学生さんからの応募がたくさんあった。自分が学生の頃は、バイトといえば居酒屋とかファミレスとかビデオレンタルとかコンビニとか家庭教師とかパチンコ屋の○○○とか、遊び半分で友達が増えそうな事ばかりやってた気がする。プログラミングのバイトをしようという発想は持っていなかった。面接して学生さん達に話を聞いてみると、異口同音に「PC触るのは好きな方だし、将来IT系に進むことを考え、経験を積んでおきたい」のだという。自分が若い頃に比べまじめに考えてるなと感心した。

ウチで働くとね、きっとプログラミングやLinuxを触る知識と経験は同年代の友達に比べればものすごく増すと思うのです。そのスキルを備えて就活すれば、どこへ行っても入社後スグに役立つ即戦力となるでしょう。

ただね、学生時代は学生時代にしか積めない経験を積んでおくことも大事だと思うのです。ウチで画面とにらめっこしてるより、居酒屋で酔客の世話してた方が世の中への視野が広がるんじゃないかな。バイトして10万ほど貯めたら海外に出てみて、世の中は自分が想像していたよりずっと広いんだって事を知っていただきたい。学生時代に、そういうことができた人は幸せだと思います。自分もそういうふうに出来たら良かったのだけど。


2006年02月27日

CAT760

祝!! USBホスト動作!(^^)/
sh7760-ohci: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (SH7760)
sh7760-ohci: block sizes: ed 64 td 64
sh7760-ohci: initializing SH7760 USB Controller
sh7760-ohci sh7760-ohci.0: SH7760 OHCI
sh7760-ohci sh7760-ohci.0: new USB bus registered, assigned bus number 1
sh7760-ohci sh7760-ohci.0: irq 64, io mem 0xfe340000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.4: new full speed USB device using sh7760-ohci and address 3
SCSI subsystem initialized
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
Vendor: Generic   Model: STORAGE DEVICE    Rev: 0.01
  Type:   Direct-Access                      ANSI SCSI revision: 00
SCSI device sda: 250881 512-byte hdwr sectors (128 MB)
sda: test WP failed, assume Write Enabled
sda: assuming drive cache: write through
SCSI device sda: 250881 512-byte hdwr sectors (128 MB)
sda: test WP failed, assume Write Enabled
sda: assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: Attached scsi removable disk sda
CAT760で動作確認が取れた周辺機器(06/2/27 手持ちにあった機器で)
・USBハードディスク(usb-storage.ko)
・CFドングル(usb-storage.ko)
・SDカードドングル(usb-storage.ko)
・USBフロッピードライブ(usb-storage.ko)
・USBマウス(usbhid.ko)
・USBキーボード(usbhid.ko)
さっそくCFドングルの性能試験
supercat:~# hdparm -t /dev/sda
/dev/sda:
 Timing buffered disk reads:    2 MB in 24.74 seconds =  82.78 kB/sec
遅せぇ orz...
バッファの取り方がワーストケースなのかも。
supercat:/mnt/lib# ls -l libc-2.2.2.so
-rwxr-xr-x  1 root root 1046160 Mar 23  2001 libc-2.2.2.so
supercat:/mnt/lib# time cp libc-2.2.2.so /tmp/ 
real    0m2.633s
user    0m0.010s
sys     0m0.040s
とやって計測すると1046160/2.633 = 397Kbyte/sec なので、実用上は気にならない程度。USB1.1だからそんなもんか。

CAT760

その後2.5inchハードディスクで試したところ
supercat:~# hdparm -tT /dev/sda
/dev/sda:
 Timing cached reads:   160 MB in  2.02 seconds =  79.21 MB/sec
 Timing buffered disk reads:    2 MB in  4.61 seconds = 444.25 kB/sec
お世辞にも速いとはいえないが、USB1.1だからそんなもんかな。

2006年02月28日

CAT760

USBホストが動作したので、おもしろがってWebcamで遊んでみた。
# modprobe videodev
# modprobe v4l1_compat
# modprobe v4l2_common
# modprobe ov511.ko packetsize=257
drivers/usb/media/ov511.c: USB OV511+ video device found
drivers/usb/media/ov511.c: model: Creative Labs WebCam 3
drivers/usb/media/ov511.c: Sensor is an OV7620
drivers/usb/media/ov511.c: Device at usb-SH7760 USB-1 registered to minor 0
usbcore: registered new driver ov511
drivers/usb/media/ov511.c: v1.64 for Linux 2.5 : ov511 USB Camera Driver
んで、
# apt-get install streamer netpbm
# streamer -o test.ppm
# ppmtobmp test.ppm > test.bmp
お〜!すばらしいっ。てか SuperHでもapt-get で xawtvとstreamerが取れるところがすごい。
Webcamで取った写真がこれ↓ (WebCam3捨てずに取っといてよかった)

多少チューニングが合っていないが、あのパッチでちゃんとカメラ画像が取得でくるとは。やっぱり俺天才かもしれない(^o^
撮った写真を液晶パネルに出している様子

CATユーザー様 今日のtangoから貴重な情報をいくつかいただきました。ありがとうございました。

CAT760

ちなみに ov511 の packetsize= は drivers/usb/media/ov511.c によると
        if (ov->bridge == BRG_OV511) {
                if (size == 0)
                        alt = OV511_ALT_SIZE_0;
                else if (size == 257)
                        alt = OV511_ALT_SIZE_257;
                else if (size == 513)
                        alt = OV511_ALT_SIZE_513;
                else if (size == 769)
                        alt = OV511_ALT_SIZE_769;
                else if (size == 993)
                        alt = OV511_ALT_SIZE_993;
                else {
                        err("Set packet size: invalid size (%d)", size);
                        return -EINVAL;
                }
        } else if (ov->bridge == BRG_OV511PLUS) {
                if (size == 0)
                        alt = OV511PLUS_ALT_SIZE_0;
                else if (size == 33)
                        alt = OV511PLUS_ALT_SIZE_33;
                else if (size == 129)
                        alt = OV511PLUS_ALT_SIZE_129;
                else if (size == 257)
                        alt = OV511PLUS_ALT_SIZE_257;
                else if (size == 385)
                        alt = OV511PLUS_ALT_SIZE_385;
                else if (size == 513)
                        alt = OV511PLUS_ALT_SIZE_513;
                else if (size == 769)
                        alt = OV511PLUS_ALT_SIZE_769;
                else if (size == 961)
                        alt = OV511PLUS_ALT_SIZE_961;
                else {
                        err("Set packet size: invalid size (%d)", size);
                        return -EINVAL;
                }
        } else {
から選択せよ。。との事らしい(undocumented!!)

CAT760

モジュールを depmod -a するときにワーニングが出る
WARNING: Loop detected: /lib/modules/2.6.15-sh/kernel/drivers/scsi/sd_mod.ko which needs sd_mod.ko again!
WARNING: Module /lib/modules/2.6.15-sh/kernel/drivers/scsi/sd_mod.ko ignored, due to loop
sd_mod.koが自分自身にdependしてloopしている。というワーニングだ。insmodすると正しく動く(depend loopだけだから)。原因が分からなかったが・・iww君の指摘が正しかった。
.h ファイルに EXPORT_SYMBOL(関数名) マクロが入っていて、
.h ファイルが 各地の.cでincludeしてしまうと
各地の .cファイルがシンボルをエクスポートする事になり、
当然自分自身でも関数を持っている事になりloopが発生する。
ビンゴ。その通り。対策は SYMBOL_SYMBOL() は .h に入れてはダメ。.cに入れること。これで直った。

CAT760

というわけで CAT760 の USBホスト対応は
http://www.si-linux.co.jp/wiki/cat/
から、「最新CDROM」に進むと取得できます。公式にはUSBフラッシュメモリへの対応のみですが、24時間エージング通りました。