Palm

開発環境の入手と導入

デッドリンクが多いので、http://www.palmos.com/dev/tools/core.htmlからダウンロードする。

いや、cygwin を使うと簡単なようだ。http://prc-tools.sourceforge.net/install/windows-details.html (2002-02-10)

cygwin

  • 導入
    • すでに導入済み。DOS モードでセットアップすると後々楽できるようだ。

PRC Tools

gcc でコンパイルするのに必要。

PilRC

Generates binary resources from textual resource definitions らしい。

  • こちらも実はPRCと同時に cygwin の setup.exe でセットアップできる。

PalmSDK 4.0

PRC Tools や 向けのSDK。

  • こちらは cygwin でも必要だね。

Palm OS Emulator (POSE)

Palmデバイスのエミュレータ。デバッグに必要。

ROM Images

デベロッパー規約に同意しなきゃならないので、結構めんどくさい。自分のPalmからPOSEを使って吸い出す方が簡単かも。

ROM Image の吸い出し

POSE を使う。

  • ROM Transfer.prc をPalm本体にインストール。
  • Emulator.exe を実行。
  • Download ボタンを押す。
  • 本体で ROM Tranfer を実行(タップ)。
  • ROM Tranfer の begin をタップ。
  • すかさず(w)、Emulator のbegin ボタンを押す。

mount の調整

PRC-tools は mount-mode が text でなければならない。cygwin の導入時に dos-mode を選択しておけば無修正でよいが、導入済みの場合は困ったことになる。

具体的にはアセンブラ as が通らないという問題に遭遇する。

$ m68k-palmos-gcc -v -c dummy.s
[/usr/m68k-palmos/real-bin/gcc.exe] m68k-palmos-gcc -v -c dummy.s -isystem
/PalmDev/include -L/PalmDev/lib/m68k-palmos-coff -isystem /PalmDev/sdk/include
-isystem /PalmDev/sdk/include/Core -isystem /PalmDev/sdk/include/Core/Hardware
-isystem /PalmDev/sdk/include/Core/System -isystem
/PalmDev/sdk/include/Core/System/Unix -isystem /PalmDev/sdk/include/Core/UI
-isystem /PalmDev/sdk/include/Dynamic -isystem /PalmDev/sdk/include/Libraries
-isystem /PalmDev/sdk/include/Libraries/INet -isystem
/PalmDev/sdk/include/Libraries/PalmOSGlue -L/PalmDev/sdk/lib/m68k-palmos-coff
Reading specs from /usr/lib/gcc-lib/m68k-palmos/2.95.3-kgpd/specs
gcc version 2.95.3-kgpd 20010315 (release)
/usr/m68k-palmos/bin/as.exe
Assembler messages:
for reading.open
: No such file or directory

次のような対処法がある。 (以下 http://salon.simple-palm.com/bbs/bbs.cgi?board_name=gcc&page=1 の都筑さんの書き込みより)


(1) マウントテーブルを確認する。

$ mount
C:\cygwin\bin on /usr/bin type system (binmode)
C:\cygwin\bin on /bin type system (binmode)
C:\cygwin\lib on /lib type system (binmode)
C:\cygwin\lib on /usr/lib type system (binmode)
C:\cygwin\usr on /usr type system (binmode)
D:\PalmDev on /PalmDev type user (textmode)
D:\cygwin on / type system (binmode)
c: on /cygdrive/c type user (binmode&cedilnoumount)
d: on /cygdrive/d type user (binmode&cedilnoumount)
#数日前までの私のマウントテーブルです。ディスクの容量不足を小細工で
#ごまかしているので、ちょっとごちゃごちゃしています。

(2) /usr/lib/gcc-lib/m68k-palmos 以下が binmode でマウントされたディレクトリになっていたら、textmode でマウントする。

$ mount -t 'C:\cygwin\lib\gcc-lib\m68k-palmos' /usr/lib/gcc-lib/m68k-palmos

Cygwin のシェル上で作業する場合は、引数に含まれる \ を特別扱いしないよう' で囲む必要があります。コマンドプロンプト(DOSプロンプト)で作業する場合は ' は不要です。

prc-tools の場所をシンボリックリンクで動かしている場合は、実体の場所を基準にして、モードの判断・パス指定をしてください。

逆に、マウントテーブルが一杯で設定できない場合(30エントリ?)は、シンボリックリンクで textmode のディレクトリに逃がしてください。

(3) /usr/m68k-palmos 以下が binmode でマウントされたディレクトリであれば、textmode でマウントする。

$ mount -t 'C:\cygwin\usr\m68k-palmos' /usr/m68k-palmos

prc-tools については以上ですが、SDK も textmode でマウントされた部分になくては なりません。binmode の / に /PalmDev? を作ってインストールした場合などでは、 textmode でマウントし直す必要があります。


以上で見事に hello world のコンパイルが通った。感激w

ちなみに ' で \ をエスケープする話は、\ の代わりに / を使えばよかったりする。基本だね。

このエントリーをはてなブックマークに追加

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-04-06 (水) 01:38:58 (5214d)