2011年05月24日

PocketPC 2002 のコンパイル環境

 今更に、PocketPC 2002のコンパイル環境を整える。
 なんでPPC2002なのかと言うと、昔のPDAが安くジャンクで出回っていて、当時人気だったカシオのカシオペア、東芝のGENIO、コンパック(HP)のiPAQなどが今手に入る。
 それで、手に入ったのはいいものの、それをどう活用していくかというと、問題に直面する。今更PPC2002のアプリケーションが開発・メンテナンスされているわけはないので、ちょっとしたものは自分で作っしまおうと言うことになる。今のVisual Studioはスマートデバイスの開発環境も統合されているが、PPC2002用なんていう大昔の遺物のコンパイルは、当然Visual Studioではできない。それどころか、eMbedded Visual Tools 4.0でもできない。開発には、eMbedded Visual Tools 3.0が必要である。
 ここで問題にぶち当たるわけだが、もうマイクロソフトからeMbedded Visual Tools 3.0はダウンロードできない。公開終了なのである。そして、PPC2002のためには当然、PocketPC 2002 SDKが必要である。が、これももうマイクロソフトからはダウンロードできない。公開終了なのである。要するに、もう触れてくれるな黒歴史、ということなのであろう。

 そうは言っても、コンパイル環境が欲しいので、なんとか入手の法。すべて2011/05/24現在の情報。

1. eMbedded Visual Tools 3.0 を探してきて入手。HPC:Factorからダウンロードした(http://www.hpcfactor.com/downloads/details.asp?r=0D692AFF-501F-48D1-9D1C-C494078E201D 要アカウント登録)。或いは、他の所から探す場合、ファイル名は EN_WINCE_EMBDVTOOLS30.exe である。参考にされたい。

2. PocketPC 2002 SDK を探してきて入手。これは cnet Downloads から。http://download.cnet.com/Pocket-PC-2002-SDK/3000-2206_4-10731597.html

3. 開発用のマシンを用意。当然、WindowsCEベースなのでActiveSyncで接続することになる。Windows Vista以降からCEベース機との接続はWindows Mobile デバイスセンターに取って代わられ、ActiveSyncは非対応である。デバイスセンターはPPC2002は非対応である。なので、XPの走るマシンを1台用意するのがいいのではないかと思われる。ActiveSyncは、まだマイクロソフトからダウンロードできる(http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141)。まあ、コンパイル環境を整えるだけなら、ActiveSyncは使わないという選択肢もあり得る。

 マシンに、eVC3をインストールし(CE2.11ベースのSDKも付いているので、それも入れればコンパイルできる。MIPSのMobileGearとか古いカシオペアとか。)、PPC2002SDKもインストールする。全てをインストールするなら、だいたい2Gくらいのディスクがあればよい。eVCは英語だけど、まあ仕方ない。これで、プラットフォームに"Pocket PC 2002"を選べば、今さらPDAのバイナリが作れるというわけである。

 ついでなので、さっそく、昔ソースコードが公開されていたGSPlayerという音楽再生ソフトをビルドしてみる。
 まずソースを入手(http://www.afterdawn.com/software/source_codes/gsplayer.cfm)。開発元は既に公開していない模様であるが、探したところ、2.28が入手できた。
 これを開発環境に持っていき、解凍する。

 まず、libをビルドする。libmad libovd maply の各フォルダがあるので、それぞれ、

・libmad.lib
  1. (解凍先)\libmad\libmad.vcw をeVC3で開く
  2. Active WCE Configurationに"Pocket PC 2002"を選択
  3. Active Configurationに"Win32 (WCE ARM) Release"を選択
  4. Build
  5. (解凍先)\lib\ARMRel\libmad.lib ができる
・libovd.lib
  1. (解凍先)\libovd\libovd.vcw をeVC3で開く
  2. Active WCE Configurationに"Pocket PC 2002"を選択
  3. Active Configurationに"Win32 (WCE ARM) Release"を選択
  4. Build
  5. (解凍先)\lib\ARMRel\libovd.lib ができる
・maplay.lib
  1. (解凍先)\maplay\maplay.vcw をeVC3で開く
  2. Active WCE Configurationに"Pocket PC 2002"を選択
  3. Active Configurationに"Win32 (WCE ARM) Release"を選択
  4. Build
  5. (解凍先)\lib\ARMRel\maplay.lib ができる

 次に本体をビルドする。
  1. (解凍先)\GSPlayer2\WinCE_PPC2\GSPlayer2.vcwを開く。(WinCE_* は、動かしたいデバイスによって適当な物を。英語版はGSPlayer2e.vcwを。)
  2. (解凍先)\lib\ARMRel\ の下にある *.lib を (解凍先)\lib\ARMV4Rel\ にコピー
  3. Active WCE Configurationに"Pocket PC 2002"を選択
  4. Active Configurationに"Win32 (WCE ARM) Release"を選択
  5. プロジェクトにUIHelper.h/UIHelper.cppが入っていないようなので、FileViewの"GSPlayer2 files"を右クリック→"Add Files to Project..."→UIHelper.hとUIHelper.cpp選択してOK
  6. Build
  7. (解凍先)\bin\jpn\WinCE_HPC\ARMRel\GSPlayer2.exe ができる


 これで完成。
 後は、できたexeをデバイスに持っていって実行すればよい。カシオペアE-3000で動作を確認。

IMG_8001s.jpg

 動いたのだが、何故か手元の実機は、母艦のSDカードリーダーで書き込んだサイズの小さいファイルがE-3000で正しく読めない。本体が古いから、故障かなあ。。。(ちなみに、ジャンクPDAは、電脳売王でよく掘り出し物が出るので、買っている。参考になれば幸い。)


タグ:EVC PocketPC WinCE PDA
posted by usoinfo at 14:49 | Comment(0) | 開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

×

この広告は180日以上新しい記事の投稿がないブログに表示されております。