Windows Embeddedな日常

Windows Embeddedについての話や、雑談を綴っていくブログです。

デバイスとの接続

2012-07-09 | Windows Embedded
アプリケーションの開発環境と CE デバイスとの接続について、少し補足します。

アプリケーションの配置やデバッグをする場合は、開発ターゲットのデバイスとアプリケーション開発環境が接続されている必要があります。
デバイス エミュレータを使っている場合はあまり意識しないかもしれませんが、例えばデバッグ中はエミュレータと接続されています。
接続されていることで、ターゲット デバイス上の状態が開発環境から確認できる、ということです。
デバッグを開始すると、デバイスへの接続、アプリケーションの配置、アプリケーションの実行 (デバッグ) が順番に開始されます。

では、接続が切れるとどうなるのでしょうか?
エミュレータでアプリをデバッグ中にエミュレータを終了してみると、以下のダイアログが表示されます。



[OK] を押すとデバッグが中止されます。当然と言えば当然ですが、デバッグに必要なデータのやり取りができなくなるため、デバッグができなくなります。

デバイスへの接続は、明示的にもできます。
Visual Studio のメニューで [ツール] - [デバイスへの接続] をクリックするとダイアログが表示されるので、エミュレータなどのターゲット デバイスを選択して [接続] をクリックして接続します。
また、接続状態の確認は [ツール] - [デバイス エミュレータ マネージャ] で確認できます。接続されていると以下のように接続状態のアイコンが表示されます。



CE 6.0 用のアプリケーションを開発する (10)

2012-07-06 | Windows Embedded
エミュレータにアプリケーションを配置できたら、デバッグもできます。

CE6EmulatorTestApp の構成を Release から Debug に変更して、ビルドします。ビルドできたら、コード上の適当な場所で F9 キーを押して、ブレーク ポイントを設定します。どこでもいいのですが、ここでは WinMain 関数の中で InitInstance() を呼ぶところに設定してみます。
ブレーク ポイントが設定できたら、Visual Studio のメニューで [デバッグ] - [デバッグ開始] をクリックします。

すると、エミュレータにアプリケーションが配置され、そのままデバッグが開始されます。デバッグが開始されると、設定したポイントでブレークされることが確認できます。ステップ実行もできると思います。



ここまでできれば、あとはデスクトップ向けの Windows アプリケーションと同じように開発していけばいいです。

ちなみに、デバッグができるということは、アプリケーションの開発環境と CE 6.0 のデバイス (今回はデバイス エミュレータ) が接続されている、ということです。

CE 6.0 用のアプリケーションを開発する (9)

2012-07-05 | Windows Embedded
前回アプリケーションのビルドまで終わっていたので、まずビルドされたアプリケーションのバイナリ ファイルをデバイス エミュレータの OS に配置するところから再開します。

Visual Studio 2005 のソリューション エクスプローラ の [CE6EmulatorTestApp] ノードを右クリックし、[配置] をクリックします。
すると、デバイス エミュレータが別ウィンドウで起動します。ここで、Visual Studio 2005 の出力ウィンドウで
========== 配置: 1 正常終了、0 失敗、0 スキップ ==========

と表示されていれば、アプリケーションの配置が正常に完了しています。

では、どこにアプリケーションが配置されたかを確認します。
エミュレータのデスクトップ画面が表示されていると思いますので、左上の [My Device] アイコンをダブル クリックします。エクスプローラ が起動しますので、[Program Files] フォルダを開きます。
すると、そこに [CE6EmulatorTestApp] フォルダが存在していて、そのフォルダの中に "CE6EmulatorTestApp" が存在していると思います。(拡張子は .exe ですが、デフォルトでは表示されていないと思います。)
つまり、Visual Studio から、この場所にアプリケーションが配置されたということです。

では、アプリケーションを実行してみましょう。
"CE6EmulatorTestApp" をダブル クリックすると、全画面でアプリケーションの画面が表示されるはずです。エミュレータ OS に日本語フォントを追加していない場合、メニューが文字化けして表示されるかと思いますが (□□□□(F) など)、それは気にしなくても構いません。
アプリケーションのリソースを英語にするか、エミュレータ OS に日本語フォントを追加するかのどちらかで改善しますので。。

とにかく、これで CE の実機がなくても、アプリケーションを開発して CE の OS 上で動作させることができるようになりました。