browncat.org
  Top 
     >Palm Gadgetry 
     自宅サーバを立ち上げよう! 
     Linuxのページ 
     blog@browncat.org 
     wiki@browncat.org 
 Palm Gadgetry
     Top/日記 
       過去の覚え書き 
 HowTo
     FreeBSD+PalmIII 
     pilot-mailの使い方 
     with rta50i 
     Network HotSync with Unix 
     CLIE NR70とLinux 
 Development
     gccでpalmware開発を 
     localizerの作り方 
     pilrc情報 
     Palmware開発ツールメモ 
       私家版pilot-template 
>    Prc-tools情報 
     TRGpro Memo 
 Other
     Favorite Palmware 
     PalmOS3.3で気になること 
 Software
     My Palmwareの倉庫 
       MailViewer 
       PoplDA 
       TinyDAs 
       Dhrystone 
       DAManager 
       LockApp 
       Syncit 
 Social Bookmarks
 逆Links
  派楽天地 (中国語) 
  VAIO, Palm, Linux, 連珠... 
  AB+ (ABPlus.com) 
  Hoshi's Palm OS Page 
  わ〜ぱほりっく 
  Palmfan 
  Upup Palm Load! 
  (順不同.ご一報下されば追加します) 
 Contact
  このサイトの作者にMail! 
 Search

prc-tools情報

このページではprc-toolsの最新版をお試ししていこうと思います。 2000/3/13現在の最新版は Palm Incから 入手できます。
でも...rpmはあるしportsはあるし、とってきてインストールするだけなんで...かくことないっすね。

ちなみに最新版(ベータなど)はsourceforgeからとってこれます。prc-tools 2.1のベータがあります。 prc-tools.sourceforge.net から project pageをたぐるとダウンロード出来ます。 sample codeもあります。ベータリリースなので注意してご使用ください。


sdkバージョンの使い分け
古いprc-tools向けのソースって、結構そのままではコンパイルできないことがあるようです。gccにSDKのバージョンを教えてやることで少しは緩和されます。
m68k-palmos-gccにオプション-palmos3.5とか-palmos2とかしてやると、そのバージョンのSDKのヘッダが使われます。


未整理ながらmulti segment使用感を...
小さいプログラムに関してはソースの修正は余りしなくても大丈夫ですが multi segmentのものを作ろうと思ったとたんに面倒になります。 gccのc言語拡張機能のattributeを使ってコードのsectionを指定し、ツールで クロスのジャンプテーブルを作成するような方法で拡張します。 やりかたは良いのですが、各関数毎にsectionを指定する必要があるのですね。
最初からセグメント分けを考慮して作成していればいいのですが、 既存の"Jump Island"方式で拡張しているプログラムを分割するには ちょっと手間がかかりそうです。
ちなみにprotoizeで.Xファイルを作らせてgrepで対象ファイルのプロトタイプを引っ張ってくるなんてどうでしょうかね。

	m68k-palmos-protoize -c"$(CFLAGS)" -p$(CC) -k -n XX.c
	
とかするとXX.cの中の関数をリストアップできますのでgrep "XX.c"で引っ張ってくればよいですね。 ともかく結構、宣言が面倒でちゃんとしないといけなくなるので、ご注意下さい。


ここからあとは古い情報です。

2000/1/23 prc-tools 0.5.1 beta5 配布開始
怒涛のバージョンアップですね。いよいよstableとなるのでしょうか。パッチの名前も日付がとれてfixに入ったようです。ちなみにバージョンアップに Webのページの更新が追い付いていないようで、インストール手順でのパッチ名などが間違っています。
2000/1/22 prc-tools 0.5.1 beta4 配布開始
2000/1/22 Beta4となりインストール手順が変更になっています。 手順は少し簡単になっており軽微なエラーがなくなっています。 素早い対応ありがとうございます。>John Marshall
お蔭様でほとんど問題なくインストール出来ました。 ただb3でmakeinfoがエラーを吐いたのをレポートしたのですが 直っていないようです。FreeBSDの問題?
2000/1/5 prc-tools 0.5.1 beta3 配布開始
αからβになり、2000/1/19現在でBeta3が配布されるようになりました! 比較的近い将来に正式バージョンがリリースされることでしょう! コンパイル時の軽微なエラーをJohn Marshall氏にレポートしておきました。

更新履歴
  • 2000/3/13 ほんの少しだけ修正
  • 2000/1/24 b5に対応/色指定間違いを修正
  • 2000/1/23 タイトルなど変更
  • 2000/1/22 b4に対応して記述変更
  • 2000/1/19 作成(未公開)

始めに

prc-toolsは GNUのCコンパイラ, binutils,gdbなどの開発ツールとPalm特有のオブジェクト形式を 作成するpost linker、スタートアップコード、ランタイムライブラリなどの パッケージです。

現在の正式な最新版は prc-tools 0.5.0でUnix(FreeBSD,Linux,Solarisなど),Win32版のプラットフォームで動作しており、 多くの開発者に利用されています。

本ページでは2000/1/23にリリースされたベータ版、 prc-tools 0.5.1 beta5の インストール手順を本家のページに沿って解説し、 遭遇するであろう問題に対する情報やfixをまとめて公開します。 これにより同様の作業を行なう方の問題を解決ないしは 軽減出来ればいいなと思います。(もちろん自分が忘れた時のためでもあります)
本家のインストール手順はpatchのファイル名などが異なっております。まあすぐにわかるので問題ないと思います。
でも僕の環境(FreeBSD3.3R+α)ではmakeinfoなどという本筋とは関係ない所でエラーがでてしまいます。内容はまだ全然調べていないのですが、インストール後のコンパイラはとてもうまく動いているように見えます。

多少インストール時に少し問題は出ますが新しいバージョンのprc-toolsは 試してみる価値は十分あるのではないかと思われます。 (とはいってもpatchの内容はチェックしてませんが...)


準備

インストールの準備にかかります。まずインストールするマシンのディスクの空き容量などを確認してファイルを入手します。
  • ディスク容量
    アーカイブの展開とコンパイルに250M程度、インストールに34M程度必要です。
  • 補助Makefile
    prc-tools-0.5.1b5 ビルド用の Makefile を"Makefile"として保存して下さい。
  • ファイルの入手
    prc-toolsの最新版やgcc,binutils,gdbの各アーカイブファイルは以下のリンク先にあります。 gnuはあちこちにmirror siteがあるのでどこからなりと入手して下さい。 なを上のMakefileには"make fetch"でアーカイブをとれるようなエントリを作っておきました。


インストール

ファイルが全て入手できたら上のMakefileでmakeをします。
そのままmakeを実行するとfetchなしでインストールまで行ないますのでroot権限が必要です。ファイルでは"MAKE=gmake"としていますのでLinuxな方はMAKE=makeで良いでしょう。

このMakefileではJohn Marshall氏のページとは インストール先が若干構成が異なり、全てを/usr/local/palmdev内に インストールします。オリジナルでは/usr/local以下にインストールされるためファイルが散らばるのがちょっと嫌だったので。(configure --prefix使用) これは適宜修正して下さい。

一発Install

HOGE>
HOGE>
HOGE>
HOGE>
wget http://www.geocities.co.jp/SiliconValley/1324/Makefile-prc-tools-0.5.1b5.txt
mv Makefile-prc-tools-0.5.1b5.txt Makefile
make fetch
make


評価

ちょっと古いb3でDAとアプリケーションをそれぞれ作成してみました。 MailViewと TinyDAsでここ数日間使用していますが とくにコンパイラが問題と思われる不具合は出ていません。
オブジェクトはほんの少し小さくなるようです。
b5でも作成したものを昨日から使用しています。がやはり問題なさそうです。


既存のプログラムをコンパイルするために

現在までわかっている大きな相違点としてA5レジスタの使い方が変わったという点があります。CALLBACK_PROLOGUE,CALLBACK_EPILOGUEのマクロが必要なくなったのです。 従ってcallback.hで gccのバージョンを比較して空にするか削除するかして下さい。


終りに

prc-tools-0.5.1もBeta5になってかなりリリースが近付いて来た感があります。 インストールの容易さ、コンパイル結果の安定性などずいぶんと進歩しています。 ただ、マルチコードセグメントなものは試していないのでこれからです。



ご意見ご要望などは yamap@browncat.org まで
このページは以下のソフトウェアを使用して作成しました:
Kondara/MNU Linux,FreeBSD,XEmacs,Mule,jed,w3m,Netscape Communicator,MetaHTML,apache,jweblint,efstat,Namazu...
Thank you for visiting this page
Modified: 00/01/28