あ〜ちゃんとたわむれ 1st

Agenda VR3をなんとなく買った。だって、送料込みで$249だったし。この値段って、4年前の同時期にPalmPilotProfessionalを買った時の値段と比べると半額程度の値段だしねぇ....

ちなみに、今回頼んだものは以下の通り

     Item # : 1 
     Product name : VR3 Developer Edition, Blue 
     Part num : HVR3DS 
     Qty : 1 
     Price : 179.00 
     Total : 179.00  

     Item # : 2 
     Product name : VR3 RS-232 Cable 
     Part num : A3RS23 
     Qty : 1 
     Price : 29.95 
     Total : 29.95  

     Item # : 3 
     Product name : A3STY 
     Part num : VR3-Stylus 
     Qty : 1 
     Price : 9.95 
     Total : 9.95 

しかし、届いたのはItem#1のみ...後の2つはまだ...

うちに届くまで

ふぁーすといんぷれっしょん

おっそいね。なんか、アップデートすると早くなるらしいけど....

てなわけで、アップデートすべく情報収集開始。

まずは関連リンクを集める

日本の
海外の

アップデートをする

まずは現在のバージョンを調べてみる。タッチパネル操作でいろいろ内部を調べるよりtelnetして調べるのが妥当だろうということで、PPP接続をすることにした。

Agenda <-> WindowsのPPPw2kを参考に、W2KでPPPの設定を行う
  1. [コントロールパネル]→[電話とモデム]の[モデム]タブを選び、[2台のコンピュータ間の通信ケーブル]でセットアップする。その後、ポートの最高速度を115200bpsに変更する。
  2. [コントロールパネル]→[ネットワークとダイアルアップ接続]にて[新しい接続]を選び、[他のコンピュータに直接接続する]でセットアップする。
  3. 作成した設定のプロパティを開き、[モデムの構成]で最高速度を[115200bps]に変更する。
  4. AgendaVR3のTerminalで以下のコマンドを打つ
    /usr/sbin/pppd /dev/ttyS0 115200 local \
    -chap debug nodetach novj 169.254.71.80:169.254.71.81 \
    connect '/usr/sbin/chat -t3600 -v CLIENT CLIENTSERVER'
  5. PPP接続をする。
  6. で、/var/log/messagesとかuname -aをみると、kernelは2.4.0-test9。

次にアップデートに必要なファイルを集める。

Agenda Help PadeのUpdatingを参考に、Agenda ftpサイトのMATRIX版ディレクトリよりvmlinux.binary.gzとroot.cramfs.gzをダウンロード。

Agenda <-> WindowsのFlashを参考にアップデートを行う。

  1. TeraTermを起動し、COMポートに115200bps,8bit,nonぱり,stop 1bit,hardware flowで接続する。
  2. AgendaVR3の裏にあるリセットボタンを押すとTeraTermコンソールに以下のメッセージが現れる。
    PMON version 3.1.223 [NEC Vr41XX UEB,EL,FLASH]
    VR4181 support by Bradley D. LaRonde  Oct 29 2000 21:30:29
    This is free software, and comes with ABSOLUTELY NO WARRANTY,
    you are welcome to redistribute it without restriction.
    CPU type NEC VR4181
      Rev 5.2.  65.54 MHz/1.17 MHz.
    Memory size   8 MB.
    Icache size  16 KB, 16/line
    Dcache size   8 KB, 16/line
    
    
    Autoboot command: "g -e bf0005e0 -- root=/dev/rom video=vr4181fb:xres:160,yres:2
    40,bpp:4,gray,hpck:3084,inv ether=0,0x03fe0300,eth0"
    Press any key to cancel.
  3. ここで、なにかしらキーボードから入力するとPMONプロンプトになる。
  4. 「load」と入力してから、TeraTermの[File]→[Send]でvmlinux.binaryを転送。
    が、ここでトラブル発生。vmlinux.binaryを転送すると転送途中でエラーが発生し、転送できない。調べてみると、vmlinux.binaryをMotorola S-Record Formatに変換しなければならないらしい。
    変換ツールを探したところ、bin2srecを発見。単純に、vmlinux.binaryをオプション無しで変換してみる。しかし、転送はエラーが発生しうまくいかない...
    仕方がないので、古いsrecコンバート済みの古いカーネルを使用してとりあえず続行。
  5. 「flash 80080000 200000 0」でvmlinuxを書き込む。
  6. 「load」と入力してから、TeraTermの[File]→[Send]でromdisk.srecを転送。
  7. 「flash 80080000 780000 200000」でromdiskを書き込む。
  8. 「$linux console=ttyS0,115200 init=/sbin/restore_defaults」としてdefault scriptを変更する。
    再び、トラブル発生。以下のメッセージがでる。
    PMON> $linux console=ttyS0,115200 init=/sbin/restore_defaults
    Detected 8MB of memory.  Will use 8MB of it.
    Loading R4000 MMU routines.
    CPU revision is: 00000c52
    Primary instruction cache 16kb, linesize 16 bytes.
    Primary data cache 8kb, linesize 16 bytes.
    Linux version 2.4.0-test9 (root@www.easysolutions.net) (gcc version egcs-2.90.29
     980515 (egcs-1.0.3 release)) #17 Tue Jan 9 14:39:12 Local time zone must be set
    --see zic manual page 2001
    On node 0 totalpages: 2048
    zone(0): 2048 pages.
    zone(1): 0 pages.
    zone(2): 0 pages.
    Kernel command line: root=/dev/rom video=vr4181fb:xres:160,yres:240,bpp:4,gray,h
    pck:3084,inv ether=0,0x03fe0300,eth0 console=ttyS0,115200 init=/sbin/restore_def
    aults
    Console: colour dummy device 80x25
    Calibrating delay loop... 1.91 BogoMIPS
    Memory: 7592k/8192k available (1566k kernel code, 600k reserved, 139k data, 47k
    init)
    Dentry-cache hash table entries: 1024 (order: 1, 8192 bytes)
    Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
    Page-cache hash table entries: 2048 (order: 1, 8192 bytes)
    Inode-cache hash table entries: 512 (order: 0, 4096 bytes)
    Checking for 'wait' instruction...  unavailable.
    POSIX conformance testing by UNIFIX
    Linux NET4.0 for Linux 2.4
    Based upon Swansea University Computer Society NET3.039
    NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
    NET4: Linux TCP/IP 1.0 for NET4.0
    IP Protocols: ICMP, UDP, TCP
    IP: routing cache hash table of 512 buckets, 4Kbytes
    TCP: Hash tables configured (established 512 bind 512)
    Starting kswapd v1.8
    Console: switching to colour frame buffer device 40x40
    fb0: vr4181fb frame buffer, 160x240, 4 bpp, 18k mem at 0x00001000 - 0x00005b00
    Keyboard driver version 0.2a for VR41XX KIU
    VR41xx touch panel initialized, using IRQ 13.
    RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
    rom: registered device at major 60
    ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
    NE*000 ethercard probe at 0x3fe0300: not found (no reset ack).
    NE*000 ethercard probe at 0x3fe0300: not found (no reset ack).
    JFFS version 1.0, (C) 1999, 2000  Axis Communications AB
    VR41xx Serial driver version 0.4 (22-Oct-2000)
    ttyS00 at 0xac000010 (irq = 17) is a 16550A
    ttyS01 at 0xac000000 (irq = 17) is a 16550A
    ttyS02 at 0xac000000 (irq = 17) is a 16550A
    VR41xx Real Time Clock Driver v1.0
    PPP generic driver version 2.4.1
    PPP Deflate Compression module registered
    PPP BSD Compression module registered
    Initializing MTD Layer
    nora flash device: 1000000 at bf000000
    Done with probing actual chips
    Probing cfi_cmdset_0001 Intel/Sharp Extended Query Table at 0x0031
    kmem_create: Forcing size word alignment - nfs_fh
    VFS: Mounted root (cramfs filesystem) readonly.
    Error -3 while decompressing!
    8003e724(2139838780)->800da000(4096)
    Warning: unable to open an initial console.
    Error -3 while decompressing!
    8003e70c(2139838804)->801e5000(4096)
    エラーで止まった....ファイルの転送時はなんらエラーはなかったんだが....
  9. とりあえず、出直し。ついでに、最新カーネルのS-Record形式へのコンバートをいろいろ実験。「bin2srec -a 4 -l 21 -o 80080000 infile > outfile」が一番近いフォーマットっぽいので、それで試すが、flash中に止まる....
  10. 平行してやっていた、開発環境の構築が終わったのでmips-objcopyができあがった。これを使って継続。
    mips-objcopy -Ibinary -Osrec vmlinux.binary vmlinux.srec
    vmlinux.srecをAgendaへ転送
    が、転送途中で、失敗する。データ形式が違うらしい...
  11. エラーばかりなのでついにvmware発動。vrflashを使って簡単に解決.....しくしくしく
アップデート後の感想。
やっぱ重い。さっきよりは軽いけど....あと、手書き文字の認識のしにくさは....

開発環境の構築

とりあえず、cygwinで開発環境を作ってみることにした。

  1. binutilsをコンパイルする。
    gzip -dc binutils-2.10.1.tar.gz|tar xf -
    ./configure --target=mipsel-linux
    make install
  2. gccをコンパイルする
    gzip -dc gcc-2.95.2.1-core.tar.gz|tar xf -
    ./configure --target=mipsel-linux --with-gnu-as --with-gnu-ld --with-newlib
    後ろのオプションが判明するのに時間がかかったこと......
    make install

てな感じで、開発環境自体の構築はすぐにできた模様。

続きはまた今度....今日のところはお休みなさい


出だし
[1週目→]
OSAKANA TARO, Mar/25/2001