ユーザ用ツール

サイト用ツール


palm:clieに関して

Palm/CLIEに関して

Network Hotsync とファイアーウォール

無線LANを利用したネットワークホットシンクを利用するには、ホットシンクマネージャの「ネットワーク(N)」にチェックを入れると同時に、パーソナルファイアーウォールの設定を変更して、14238/tcp を通すようにする必要があります。

PalmOS Developer Suite

PalmSourceが配布する、Eclipseベースの開発ツールです。developer登録することで無償で入手できます。

prc-toolsからの移行

基本的には必要なソースとヘッダを、プロジェクトに importするところから始まります。ローカルディスクにただおいてあるだけならそれらを、ローカルのレポジトリに格納してある場合には、cvs経由でそれらを取り出すように、リモートのレポジトリであれば pserver経由で cvsするようにそれぞれ指示します。

リソースに関しては、.rcpから直接変換することは出来ないようで、prc-toolsでビルドして出来た、.prcファイルおから取り込むことで、PalmOS Developer Suiteが求めるXML形式の .xrdファイルが出来上がります。

DAやAppShelfの拡張モジュールを作る

これらのプログラムは、通常のアプリケーションと異なる部分がいくつかあります。その中でも厄介なのはコードリソースに関するものでしょう。

通常のアプリケーションのように作成すると、コードリソースは必ず1にされてしまいますが、DAやAppShelfの拡張モジュールは、コードリソースの1000番を要求します。そして、それは、通常の方法では作ることが出来ません。

コードリソース1000番のコードを生成するには次のようにします。

#include <Standalone.h>
STANDALONE_CODE_RESOURCE_TYPESTR_ID("code", 1000);

この二行をソースコードの先頭あたりにおいておくことで、コンパイラがコードリソース1000番になるようにコードを生成してくれます。あとは、リンカとbuild-prcに次のオプションを設定すれば完了です。

PRC-Tools 68K Linker
Miscellaneous:
-nostartfiles
-e ExtWinModEntry ((AppShelf拡張パネルの場合のみ))
PRC-Tools PRC Builder
General:
--no-check-resources

これらがないと、コードが生成できないですので忘れないように。 また、コードリソース1000にするのをうっかり忘れていると、インストールされているのに、動かないとか、違うプログラムが走ってしまうとかいう妙な症状になりますので気をつける必要があります。

PNO (Pace Native Object)アプリケーションを作る

以前、ARMletと呼ばれていた、ARMネイティブコードを含んだアプリケーションを、CodeWorrierやPalmOS Developer SuitではPNOアプリケーションと呼びます。

PNOアプリケーションを作成するには、プロジェクトの作成で、PNOアプリケーションを選べばいいのですが、標準アプリやProteinアプリと違って、ビルドのためには makefileを直接修正しなければなりません。

makefileのテンプレートは作成されますから、必要に応じてそこに手を入れることになります。 まず、ARMletに相当するコードを、PNO_SOURCESに指定します。

PNO_SOURCES=armlet-sun.c fixed_armlet.c

これは、六曜定義の場合ですが、こんな感じで、ARMletのソースを列記します。これらのソースは、その後ARMletとして扱われ、適切にコンパイルされリンクされます。

ARMletとして作成されるリソースはPNO_RESOURCEに列記します。

PNO_RESOURCES=ARMC0000

そして、個々のリソースに対して、オブジェクト、エントリポイント、エントリポイントを含むオブジェクト、リソースIDを指定します。

ARMC0000 = armlet-sun.o fixed_armlet.o
ARMC0000_PNO_ENTRY = PNOMain
ARMC0000_MAIN_OBJ = armlet-sun.o
ARMC0000_RESOURCE_ID = 0x0000

これらは、必要に応じて複数定義します。先の、DAなどの時と違い、ResourceIDは Standalone.hを利用して指定しません。(arm-palmos-gccを利用している場合には Standalone.hを使うのですが、PalmOS Developer Suitではpaccという独自のコンパイラが使われるので、機能しません。) また、エントリポイントは、事実上 PNOMainに決め打ちだと思っていいでしょう。 (ないと、ビルド時に文句をいわれます。オプションで変更できるはずだが逆らうほどの価値もないのでこれでいいでしょう。)

ビルドするターゲットは、Debug/ReleaseとDevice/Simulatorの組み合わせで指定します。

DEBUG_OR_RELEASE=Release
TARGET_PLATFORM=Device

DEBUG_OR_RELEASE=Debug
TARGET_PLATFORM=Simulator

のように指定します。 startへ戻る。

palm/clieに関して.txt · 最終更新: 2015/04/10 17:27 by 127.0.0.1