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

2008年01月03日

2008年新年

新年あけましておめでとうございます。2007年やり残したことがたくさんあるebichanです。写真は一月二日新幹線から見えた富士山。No.1にならなくてもいい。という歌があるけれど、そうではない。どんなことでもいい、小さなことでも、くだらないことでもいいから、自分の中でNo.1を目指したらいい。今年もまた富士山に登ってみよう。


2008年01月08日

えいご

やっとまともに本を読み始めた。
動詞を目的語とするには to 不定詞と -ing 動名詞 があるが、どちらを使うか。
積極的であれば to 不定詞、消極的であれば -ing 動名詞を用いることが多い。
例)
積極的 wish to, hope to, promise to, attempt to, plan to, decide to, resolve to
 wish to see you
 look forward to see you
消極的 avoid -ing, deny -ing, delay -ing, stop -ing, 
 delay arriving
 stop running
もちろん例外もたくさんある
ちゃんと本を読めばちゃんと書いてあるんだ(苦笑)
wish-to とか stop-runninng とかはそれで一つの言葉として覚えてしまっていたけど、理屈があるんですねぇ。てか中学校の復習程度だけども。

小ネタ

screenは便利だ。使っていないなら apt-get install screen するべきである。screenについては CTRL+A,CTRL+A それに CTRL+A,CTRL+C くらいを覚えれば十分。
screenに慣れたら .bash_profile の最後に
 screen -x
と追加しておくとむちゃ便利である。ビルドをかけて退出、翌朝結果確認なんてことができる。i386はもちろん、処理の遅いSH3やSH4にこそ必須である。

debian etch sh3 sh4

パッケージの自動ビルド。そろそろ飽和してきた。
http://www.si-linux.co.jp/wiki/silinux/index.php?DebianSH_%A5%D3%A5%EB%A5%C9%A5%DE%A5%B7%A5%F3%BE%D2%B2%F0
           SH3 ,SH4 ,ALL
2007-12-30,8099,8464,5802
2007-12-31,8099,8462,5802
2008-01-01,8101,8462,5802
2008-01-03,8101,8462,5802
2008-01-04,8108,8462,5802
2008-01-05,8113,8460,5802
2008-01-06,8113,8460,5802
2008-01-07,8115,8462,5802
2008-01-08,8127,8462,5802
割と効率の良いビルドアルゴリズムを使っていると思うのだけど、つまり、5台のCAT709, 4台のLANDISK, 1台のPCサーバ(distccサーバ)の規模で debian etch をfullビルドするには
半年必要
だという結果を生んだ。

debian etch sh3 sh4

gcc-4.1-4.1.1ds2-21 を LANDISK (sh4-200MHz)でビルドすると4日とかかかるので、--disable-multilib でビルド。てかそれでいいじゃんという気になってきた。debian/rules2 の CONFARGS に --disable-multilib を追加し、ビルドを仕掛けて寝る。


2008年01月10日

debian 4.0 etch sh4 sh3 gcc-4.1.1

えーと、PC上で、「SH4上で動くgcc(SH4用のセルフgcc)」をクロスで作るのってどうやるんだっけ?忘れてしまった。なんかかっこよくやったら gcc-4.1_4.1.1-21_sh4.deb をクロスでビルドできたはずなんだけどなぁ。 dpkg-buildpackage -ash4 の前におまじないが必要だった。。。えびめもに載ってない。

HDL-GT sshを組み込む

バックアップは rsync で自分で組むことにする。rsyncのメソッドとしてssh(クライアント)が使いたいので ssh を組み込む。
毎度debianからもらってくる
  # cd /tmp
  # wget http://ftp.debian.org/debian/pool/main/o/openssh/ssh_3.8.1p1-8.sarge.6_arm.deb
展開する
  # ar x ssh_3.8.1p1-8.sarge.6_arm.deb
組み込む
  # mount -o remount,rw /
  # cd /
  # tar xzfv /tmp/data.tar.gz
  # mount -o remount,ro /
後片付け
  # cd /tmp
  # rm ssh_3.8.1p1-8.sarge.6_arm.deb data.tar.gz control.tar.gz debian-binary
ほんで、HDLをrsync (via ssh)クライアントとし、各マシンから pull でファイルをバックアップして回る事にする

debian 4.0 etch gcj-4.1 sh4

/bin/sh ./libtool --mode=compile /root/build/gcj-4.1/gcj-4.1-4.1.1/build/gcc/gcj -B/root/build/gcj-4.1/gcj-4.1-4.1
.1/build/sh4-linux-gnu/m4-nofpu/libjava/ -B/root/build/gcj-4.1/gcj-4.1-4.1.1/build/gcc/ -mieee -fclasspath= -fboot
classpath=/root/build/gcj-4.1/gcj-4.1-4.1.1/build/sh4-linux-gnu/m4-nofpu/libjava/classpath/lib --encoding=UTF-8 -W
no-deprecated -fbootstrap-classes -g -O2  -m4-nofpu -c -o javax/transaction/xa.lo -MT javax/transaction/xa.lo -MD
-MP -MF javax/transaction/xa.deps @javax/transaction/xa.list
ibjava/ -B/root/build/gcj-4.1/gcj-4.1-4.1.1/build/gcc/ -mieee -fclasspath= -fbootclasspath=/root/build/gcj-4.1/gcj-4.1-4.1.1/build/sh4-linux-gnu/m4-nofpu/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -m4-nofpu -fjni -findirect-dispatch -fno-indirect-classes -c @gnu-CORBA.list -fPIC -o .libs/gnu-CORBA.o
gnu/CORBA/CDR/gnuRuntime.java: In class 'gnu.CORBA.CDR.gnuRuntime$Redirection':
gnu/CORBA/CDR/gnuRuntime.java: In method 'gnu.CORBA.CDR.gnuRuntime$Redirection.toString()':
gnu/CORBA/CDR/gnuRuntime.java:95: internal compiler error: Segmentation fault
で落ちるやつって、 -m4-nofpu でビルドしてるからじゃないのか?
関連しそうなページ
http://lists.gnu.org/archive/html/classpath-testresults/2006-08/msg00126.html
「gcc 28801」 でぐぐる事

2008年01月11日

debian 4.0 etch sh4 gcc-4.1

そーだっ!! gcc-4.1 で kernel をビルドするときは -m4-nofpu にする必要があった。道理で、カーネルは(なぜか)ブートするけど /sbin/init が動いてくれないわけだ。

debian 4.0 etch sh4 gcc-4.1

-m4-nofpu で良いかと思ったけど駄目だった。最初からついてた。linux-2.6.15 を gcc-4.1 でビルドすると
VFS: Mounted root (jffs2 filesystem) readonly.
でとまる。ん〜。カーネルがとまっているというのではなくて、 /sbin/init がsyscallできないようだ。

debian 4.0 etch sh4 gcc-4.1 kernel linux-2.6.24-rc7

kernel 2.6.24-rc7 (5日前 06-Jan-2008リリースの最新テスト版)を CAT760向けにフィッティングしたら動いた。
 Linux version 2.6.24-rc7 (ebihara@boss2) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 Fri Jan 11 23:06:11 JST 2008
 Booting machvec: CAT760
 SiliconLinux CAT760
 Node 0: start_pfn = 0xc000, low = 0x10000
 Zone PFN ranges:
   Normal      49152 ->    65536
 Movable zone start PFN for each node
 early_node_map[1] active PFN ranges
     0:    49152 ->    65536
 Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
 Kernel command line: console=ttySC0,115200 root=0301
 init_cat760_IRQ()
 PID hash table entries: 256 (order: 8, 1024 bytes)
 Using tmu for system timer
 Using 8.333 MHz high precision timer.
 Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
 Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
 Memory: 62872k/65536k available (1362k kernel code, 516k data, 64k init)
 PVR=04050187 CVR=20480000 PRR=00000520
 I-cache : n_ways=2 n_sets=256 way_incr=8192
 I-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2
 D-cache : n_ways=2 n_sets=512 way_incr=16384
 D-cache : entry_mask=0x00003fe0 alias_mask=0x00003000 n_aliases=4
 SLUB: Genslabs=11, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
 Mount-cache hash table entries: 512
 CPU: SH7760
 net_namespace: 64 bytes
 NET: Registered protocol family 16
 Time: SuperH clocksource has been installed.
 NET: Registered protocol family 2
 IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
 TCP established hash table entries: 2048 (order: 2, 16384 bytes)
 TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
 TCP: Hash tables configured (established 2048 bind 2048)
 TCP reno registered
 cat760_devices_setup()
 cat760_cfenabler()
 cat760_cfenabler() cf_attribute_base=0xc0000000
 cat760_devices_setup() cf_ide_base=0xc0000000
 JFFS2 version 2.2. (NAND) 息 2001-2006 Red Hat, Inc.
 io scheduler noop registered
 io scheduler anticipatory registered (default)
 io scheduler deadline registered
 io scheduler cfq registered
 SuperH SCI(F) driver initialized
 sh-sci: ttySC0 at MMIO 0xfe600000 (irq = 55) is a scif
 console [ttySC0] enabled
 sh-sci: ttySC1 at MMIO 0xfe610000 (irq = 75) is a scif
 sh-sci sh-sci: Attempting to register port 3 when only 2 are available.
 sh-sci sh-sci: Consider bumping CONFIG_SERIAL_SH_SCI_NR_UARTS!
 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
 ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
 hda: , CFA DISK drive
 ide0 at 0xc00001f0-0xc00001f7,0xc00003f6 on irq 8
 hda: max request size: 128KiB
 hda: 4061232 sectors (2079 MB) w/1KiB Cache, CHS=4029/16/63
  hda: hda1 hda2
 mice: PS/2 mouse device common for all mice
 TCP cubic registered
 NET: Registered protocol family 1
 NET: Registered protocol family 17
 kjournald starting.  Commit interval 5 seconds
 EXT3 FS on hda1, internal journal
 EXT3-fs: recovery complete.
 EXT3-fs: mounted filesystem with ordered data mode.
 VFS: Mounted root (ext3 filesystem).
 Freeing unused kernel memory: 64k freed
 INIT:versi
 鑽tarting the hotplug events dispatcher: udevd.
 Synthesizing the initial hotplug events...done.
 Waiting for /dev to be fully populated...done.
 Activating swap...Adding 175384k swap on /dev/hda2.  Priority:-1 extents:1 across:175384k
 done.
 Checking root file system...fsck 1.40-WIP (14-Nov-2006)
 /dev/hda1: clean, 7674/232320 files, 54609/463798 blocks
 done.
 EXT3 FS on hda1, internal journal
 Setting the system clock again..
 Cannot access the Hardware Clock via any known method.
 Use the --debug option to see the details of our search for an access method.
 Cleaning up ifupdown....
 Loading kernel modules...FATAL: Could not load /lib/modules/2.6.24-rc7/modules.dep: No such file or directory
 Loading device-mapper support.
 Checking file systems...fsck 1.40-WIP (14-Nov-2006)
 done.
 Setting kernel variables...done.
 Mounting local filesystems...done.
 Activating swapfile swap...done.
 Setting up networking....
 Configuring network interfaces...SIOCSIFADDR: No such device
 eth0: ERROR while getting interface flags: No such device
 SIOCSIFNETMASK: No such device
 eth0: ERROR while getting interface flags: No such device
 Failed to bring up eth0.
 done.
 INIT朎nter
 蚌tarting system log daemon: syslogd.
 Starting kernel log daemon: klogd.
 * Not starting internet superserver: no services enabled.
 Starting periodic command scheduler: crond.
 
 Debian GNU/Linux 4.0 landy2 ttySC0
 
 landy2 login:
まだCFしか動いていないので、 LANとかMTDとかPCMCIAとかUSBとかFBとか先は長いけど、とりあえず動いた。やったぁ(^-^)
arch/sh の下の様子が全然違っていたのでとまどったけど、わかってきた。特に割り込みの初期化 make_ipr_irq() とかが廃止されてる。
CAT760でカリカリ最新のlinuxカーネルが動いた。ユーザランドはdebian etch sh4。

debian 4.0 etch sh4 gcc-4.1 kernel linux-2.6.24-rc7

drivers/ の下をちらっと読んでみた。明日にでも出来そうなものと時間の掛かりそうなものがある
出来た
  CF (ide)
すぐ出来そう
  LAN,  MTD
一日くらい掛かりそう
  ohci, video(fb), rtc
時間掛かりそうなもの
  pcmcia
linux-2.6.24 になってgcc-4.1でビルドは出来たけれど、今度はPARTNERでELFが読めなくなった。致命的だ。とりえずここまではICE無しで動かしたけれどiceが無いのは痛い。ん〜 -Os がまずいのかな。明日 -O2 に戻して試してみよう。

2008年01月12日

sh4 gcj-4.1

gcc を --disable-multilib でビルドしたものを使っても同じだった。落ちるの変わらず。
/bin/sh ./libtool --mode=compile /root/build/gcj-4.1/gcj-4.1-4.1.1/build/gcc/gcj -B/root/b
uild/gcj-4.1/gcj-4.1-4.1.1/build/sh4-linux-gnu/libjava/ -B/root/build/gcj-4.1/gcj-4.1-4.1.
1/build/gcc/ -mieee -fclasspath= -fbootclasspath=/root/build/gcj-4.1/gcj-4.1-4.1.1/build/s
h4-linux-gnu/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g
 -O2 -c -o org/ietf/jgss.lo -MT org/ietf/jgss.lo -MD -MP -MF org/ietf/jgss.deps @org/ietf/
jgss.list
mkdir org/ietf/.libs
/root/build/gcj-4.1/gcj-4.1-4.1.1/build/gcc/gcj -B/root/build/gcj-4.1/gcj-4.1-4.1.1/build/
sh4-linux-gnu/libjava/ -B/root/build/gcj-4.1/gcj-4.1-4.1.1/build/gcc/ -mieee -fclasspath=
-fbootclasspath=/root/build/gcj-4.1/gcj-4.1-4.1.1/build/sh4-linux-gnu/libjava/classpath/li
b --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -c -MT org/ietf/jgss.lo -MD
-MP -MF org/ietf/jgss.deps @org/ietf/jgss.list -fPIC -o org/ietf/.libs/jgss.o
/bin/sh ./libtool --mode=compile /root/build/gcj-4.1/gcj-4.1-4.1.1/build/gcc/gcj -B/root/b
uild/gcj-4.1/gcj-4.1-4.1.1/build/sh4-linux-gnu/libjava/ -B/root/build/gcj-4.1/gcj-4.1-4.1.
1/build/gcc/ -mieee -fclasspath= -fbootclasspath=/root/build/gcj-4.1/gcj-4.1-4.1.1/build/s
h4-linux-gnu/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -fjni -findirect-dispatch -fno-indirect-classes -c -o gnu-CORBA.lo @gnu-CORBA.list
/root/build/gcj-4.1/gcj-4.1-4.1.1/build/gcc/gcj -B/root/build/gcj-4.1/gcj-4.1-4.1.1/build/sh4-linux-gnu/libjava/ -B/root/build/gcj-4.1/gcj-4.1-4.1.1/build/gcc/ -mieee -fclasspath= -fbootclasspath=/root/build/gcj-4.1/gcj-4.1-4.1.1/build/sh4-linux-gnu/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -fjni -findirect-dispatch -fno-indirect-classes -c @gnu-CORBA.list -fPIC -o .libs/gnu-CORBA.o
gnu/CORBA/CDR/gnuRuntime.java: In class 'gnu.CORBA.CDR.gnuRuntime$Redirection':
gnu/CORBA/CDR/gnuRuntime.java: In method 'gnu.CORBA.CDR.gnuRuntime$Redirection.toString()':
gnu/CORBA/CDR/gnuRuntime.java:95: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see .
make[6]: *** [gnu-CORBA.lo] Error 1
make[6]: Leaving directory `/root/build/gcj-4.1/gcj-4.1-4.1.1/build/sh4-linux-gnu/libjava'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/root/build/gcj-4.1/gcj-4.1-4.1.1/build/sh4-linux-gnu/libjava'
make[4]: *** [all-target-libjava] Error 2
make[4]: Leaving directory `/root/build/gcj-4.1/gcj-4.1-4.1.1/build'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/root/build/gcj-4.1/gcj-4.1-4.1.1/build'
make[2]: *** [bootstrap] Error 2
make[2]: Leaving directory `/root/build/gcj-4.1/gcj-4.1-4.1.1/build'
s=`cat status`; rm -f status; test $s -eq 0
make[1]: *** [stamps/05-build-stamp] Error 1
make[1]: Leaving directory `/root/build/gcj-4.1/gcj-4.1-4.1.1'
make: *** [stamps/05-build-stamp] Error 2
 
real    2224m34.328s
user    1882m10.174s
sys     81m14.120s

HelloWorldApp.java

public class HelloWorldApp {
  public static void main(String[] args) {
    System.out.println("Hello World");
  }
}
$ gcj-4.1 HelloWorldApp.java --main=HelloWorldApp

CAT760 2.6.24-rc7-git3

昨日の予告どおり LANが動いた。
--- /tmp/linux-2.6.24-rc7/drivers/net/ax88796.c 2008-01-07 06:45:38.000000000 +0900
+++ linux-2.6.24-rc7_cat/drivers/net/ax88796.c  2008-01-12 18:24:44.000000000 +0900
@@ -865,8 +865,11 @@
                ret = -ENXIO;
                goto exit_mem;
        }
-
+#if defined (CONFIG_SH_CAT760)
+       ei_status.mem = res->start;
+#else
        ei_status.mem = ioremap(res->start, size);
+#endif
        dev->base_addr = (unsigned long)ei_status.mem;
 
        if (ei_status.mem == NULL) {
昔のメモを対応

linux-2.6.24-rc7 CAT760対応進捗

  IDE (cf)                  →○
  LAN (ax88796)             →○
  RTC (rtc9701je) & EEPROM  →○
  MTD (mtd maps)            →○
  ohci usb host         → 未着手
  video(frame buffer)   → 未着手
  pcmcia                → 未着手

2008年01月14日

linux-2.6.24-rc7-git7 追っかけ

SH7760に内蔵されているohciはメインメモリをUSB転送用メモリとしては使えず、わずか8Kバイトしかない専用共有メモリをやりくりして使用する必要がある「なちゃってohci」が搭載されている。さすがにこれは不評だったのか、SH7720 (SH3-DSP), SH7763 (SH4A)といった新しいCPUではメインメモリ全てをohciコントローラからアクセスできるように改善されている。

linux-2.6.24-rc7でsh_ohci サポートが取り込まれたようなので追いかけてみたけど、それは新しいCPU用だった。sh7760では今までと同じくやっぱし8Kバイト共有SRAM専用のon-chip-mallocを作るしかないか。


2008年01月15日

CAT760

カーネル2.6.24-rc7対応と、gcj-4.1 対応は期日が決まっているわけではないのでとりあえず保留。期日が決まっている「CAT760で音を鳴らす」に取り掛かることにする。候補は SSI (serial sound interface) コーデック の UDA1345TSDB。1年位前にこのコーデックで音を鳴らしたいなぁと思ってdigikeyで買うものリストに入れといたのだった。

んで調べたら部品箱に入ってた。さすが俺。


2008年01月16日

googleマップの写真が

いつの間にか名古屋市のgoogleマップの写真が航空写真からDigitalGlobeの衛星写真に代わっていた。
そんで身近な場所を見てたら、

駐車場に俺のクルマが映ってんじゃん。
すげー。これでも軍事上の理由から精度を落としているんだとか。QuickBird恐るべし。imprezzaが映っているということは'07/8〜'08/5月に撮られた写真だな。

2008年01月17日

WebCam QV-400N

CAT760でWebCamを動かすという話があるので基礎実験。LinuxでWebCamて5年位前に流行ったっきり手付かずだったのだけど、最近はLinuxでSkypeとかも普通になってきていて意外とメンテされている分野らしい。
PCショップ店頭で適当に30万画素を買ってきた。Logicool QCam for Notebook QV-400N。
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=08ae Rev= 1.00
S:  Product=Camera
C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 0 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 128 Ivl=1ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 0 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 192 Ivl=1ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 0 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 256 Ivl=1ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 0 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 384 Ivl=1ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 0 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 512 Ivl=1ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 0 Alt= 6 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS= 768 Ivl=1ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 0 Alt= 7 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=01(Isoc) MxPS=1023 Ivl=1ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=(none)
I:  If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=01(Isoc) MxPS=  16 Ivl=1ms
I:  If#= 2 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=01(Isoc) MxPS=  32 Ivl=1ms
いろいろやった結論は無理。QV-400Nはこちらのmaxhaardさんのgspcaドライバ(gspcav1-20071224.tar.gz)が対応しているようなので、PC-Linuxでは動きそうだったけれど、CAT760ではUSB転送メモリが不足して動かせない。sh4向けにクロスコンパイルしてCAT760で認識までは行くのだがISOクロナス転送用メモリが圧倒的に足りない。むー。

CAT760 + WebCam (QV-400N)

無理かと思ったけど動いた。さすが俺。

以下CAT760用パッチ
 diff -urN gspcav1-20071224/gspca.h gspcav1-20071224-cat/gspca.h
 --- gspcav1-20071224/gspca.h    2007-12-25 01:56:47.000000000 +0900
 +++ gspcav1-20071224-cat/gspca.h        2008-01-17 15:36:45.450332606 +0900
 @@ -26,7 +26,7 @@
  #  define PDEBUG(level, fmt, args...) do {} while(0)
  #endif                         /* SPCA50X_ENABLE_DEBUG */
  //#define FRAMES_PER_DESC               10      /* Default value, should be reasonable */
 -#define FRAMES_PER_DESC  16    /* Default value, should be reasonable */
 +#define FRAMES_PER_DESC  1     /* Default value, should be reasonable */
  #define MAX_FRAME_SIZE_PER_DESC 1024
  #define SPCA50X_MAX_WIDTH 640
  #define SPCA50X_MAX_HEIGHT 480
 @@ -34,7 +34,7 @@
  #define PAC207_ENDPOINT_ADDRESS 5      /* Isoc endpoint number */
  /* only 2 or 4 frames are allowed here !!! */
  #define SPCA50X_NUMFRAMES 2
 -#define SPCA50X_NUMSBUF 4      /* 2 is problematic on some systems */
 +#define SPCA50X_NUMSBUF 2      /* 2 is problematic on some systems */
 
  #define VENDOR_SONIX 0x0c45
  #define VENDOR_ETOMS 0x102c
problematic というのが気になる。あと遅い。

いろいろ進んだ。

今日は外が寒かったせいか、いろいろ仕事が進んだ。(1)社長業(総務)。(2)経理 伝票整理。(3)来客一人あり。(4)USBカメラを動くようにした。(5)お客さんから頼まれてた2.4カーネルの整理。(6)お客さんから頼まれてた2.6カーネル起動ロゴの変更。(7)新人君の仕事用冶具つくり。(8)SH7760のシリアルサウンドコーデックのハードウェアマニュアルとUDA1345TSのデータシートを見比べてとりあえず回路を書いた。今日一日だけ見るとスーパーマン的働きぶりだ(いや滅多に無いくらい仕事が乗ってた)。キタ。
click to PDF
この回路はCATのアプリケーションノートとしてcat wikiに載せるつもりなのでオープンにしときます。ようやくまじめにデータシートを読んで頭を使った。

UDA1345TS clockはCDと同じ44.1KHzの256倍サンプリング => 11.2896MHz。しかし大須のパーツ屋で取り扱いが無し。とりあえず近い周波数として店頭在庫のあった11.0MHzの水晶発信器で代用する。多少キーが下がるけど実験レベルなのでよしとする。あとたぶん5Vデバイスだけど無理無理3.3Vで動かす。経験上多少エネルギーが弱くなるだけでちゃんと発振する(と思う)。

SH7760側の内蔵クロックプリスケーラは1/16までしか設定が無いらしい。仕方ないのでTTLの同期カウンタで1/16を作る。74の163とかすげー久しぶり。スキューが発生するけど遅延は15ns程度なので無視できる。→ あれーちょっと待てよ。ひょっとしたら不要かも → 勘違いだった。163の分周部分は不要だ。内蔵プリスケーラだけでよさそう。

SH7760側のシリアルデータ端子は1bitで入力出力の切り替え。つまり半二重(ガーン)。rec/playを外部で切り替えるしかないかな。tri-stateバッファをかます。

アナログ部の電源のデジアナ分離とか入出力のDCカットコンデンサとか特にこだわっていないのでHiFiではない。たぶんそこそこノイズが出るが現物合わせする。


2008年01月21日

SH7760 usb

SH7760内蔵ohci転送メモリが8Kしかないとこのへんでまたブツクサ文句書いた話だけど、今日タイムリーな話題がlinux-usb-develに流れていた。
http://marc.info/?l=linux-usb-devel&m=120090813406726&w=2

2008年01月22日

Debian etch SH3 SH4

そういえば postfix がビルドエラーになってる。arch依存があるようだ。

linux-sh at vger.kernel.org にdebian etchやってるよと報告したら、DebianにしろFedraにしろ、そういうのは出ては消えてきたし、キープする気が無いなら時代遅れだとPaulに言われてしまった。Gentooを使えだってさ。 私がdebianが必要なのでセコセコと自前ビルドしているだけなんだよーん、と思うのだけど、やめとこっと。
http://marc.info/?l=linux-sh&m=120096227801375&w=2

MSP430

安そうな(100円台の)MSP430を探す。とりあえずメモ
MSP430F2001TN  ROM 1K, RAM 128 14DIP 
digikey  1   @178
        25   @142
       100   @106
 
MSP430F2001IN     ROM 1K, RAM 128 14DIP 
MSP430F2001IRSAT  ROM 1K, RAM 128 16QFN
digikey  1   @164
        25   @130
       100   @97
14DIPで試作して基板に16QFNでも可愛いけど、やっぱりAVR 8SOPの可愛さには勝てないなぁ。

2008年01月23日

マルツパーツ館

Webショップで部品検索しているだけでも面白い。ちと価格は高めだけど7000円で送料無料ならdigikeyで買うより手軽だ。メイク館で電子工作セミナーとかやってるんだ。
http://marutsumake.blog74.fc2.com/blog-entry-218.html
電子工作講座「ヘッドホンアンプの製作」パワーMOSFET編
●講師 
結城 健二氏
●日時 
2008年1月27日(日)13:00-19:00
●定員 
14名
●講座料金 
8,000円[テキスト・キット代込み]
●セミナー内容 
製作講座ですが、セットの回路変更、部品変更をしたい方の為に、技術解説を2時間予定しております。
●学習のポイント
①パワーMOSFETの動作原理。
②GNDの考え方。
●持参物 
①電卓【定数設計(計算)用に使用します。】
テキスト部品代込みで8,000円なら利益度外視で良心価格ですね。ただのキット組み立て教室じゃないところもいい。近所だったら行ってみたかったなぁ。最近D級アンプばっかりなのでリニアなアンプとか初歩に戻って遊んでみたい。