windows embedded standard 7 の 使用によるアプ...

22
Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ 1 Windows Embedded Standard 7 使用によるアプリケーションの 開発、展開、デバッグ 目次 概要 ................................................................................................................................................................................................................ 2 アプリケーション................................................................................................................................................................................... 3 目的......................................................................................................................................................................................................... 3 コードと環境 ..................................................................................................................................................................................... 3 Windows Embedded Standard 7 のイメージの準備 ...................................................................................................... 6 HelloWorld アプリケーションを静的に分析.......................................................................................................... 6 1. 依存関係を解決します。 ........................................................................................................................................... 9 2. ターゲット機器の共有フォルダーを作成します。................................................................................... 10 3. Visual Studio デバッガをイメージに追加します。 ................................................................................... 11 4. IBW イメージを作成します。 .............................................................................................................................. 12 展開...................................................................................................................................................................................................... 13 デバッグ ............................................................................................................................................................................................ 16 まとめ ................................................................................................................................................................................................. 22

Upload: others

Post on 23-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

1

Windows Embedded Standard 7 の 使用によるアプリケーションの 開発、展開、デバッグ

目次

概要 ................................................................................................................................................................................................................ 2

アプリケーション ................................................................................................................................................................................... 3

目的 ......................................................................................................................................................................................................... 3

コードと環境 ..................................................................................................................................................................................... 3

Windows Embedded Standard 7 のイメージの準備 ...................................................................................................... 6

HelloWorld アプリケーションを静的に分析 .......................................................................................................... 6

1. 依存関係を解決します。 ........................................................................................................................................... 9

2. ターゲット機器の共有フォルダーを作成します。 ................................................................................... 10

3. Visual Studio デバッガをイメージに追加します。 ................................................................................... 11

4. IBW イメージを作成します。 .............................................................................................................................. 12

展開 ...................................................................................................................................................................................................... 13

デバッグ ............................................................................................................................................................................................ 16

まとめ ................................................................................................................................................................................................. 22

Page 2: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

2

概要

Windows Embedded Standard 7 は、Windows Embedded Standard ポートフォリオにおける次世代プラットフォームで、Windows 7 オペレーティング システムのパワー、使いやすさ、信頼性を備えており、カスタマイズ可能なコンポーネント化された形で提供します。この文書では、開発者が Windows Embedded Standard 7 のアプリケーションを開発する際、作業をどのように簡素化できるかについて説明します。

Windows Embedded Standard 7 のアプリケーションを開発する作業は、Windows 7 用のアプリケーションを開発する作業とあまり変わりません。Windows 7 で開発するアプリケーションのほとんどは Windows Embedded Standard 7 で展開できます。アプリケーションが正常に機能し、実行のために必要なすべてのコンポーネントにアクセスできるようにするには、Windows Embedded Standard 7 のイメージ作成に関する考慮事項があります。この文書では、このようなアプリケーションをゼロから開発し、ICE (Image Configuration Editor) ツール、IBW (Image Builder Wizard) ツールを使用して Windows Embedded Standard 7 に展開し、問題があった場合にアプリケーションを デバッグする方法について説明します。

この文書では、基本的な「Hello World」アプリケーションを作成し、Windows Embedded Standard 7 イメージに展開する方法を説明します。必要なツールは、Visual Studio 2005 以降、および Windows Embedded Standard 7 のツールです。

Page 3: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

3

アプリケーション

目的

この文書では、コンソールに「Hello World」を出力する簡単なコンソール ベースの C++ アプリケーションを開発する方法を示します。その後、そのアプリケーションを Windows Embedded Standard 7 のコンピューターに展開してデバッグする方法を説明します。この簡単なアプリケーションの展開とデバッグに関する知識は、より複雑なアプリケーションにも応用できます。

コードと環境

アプリケーションを作成するには、Visual Studio を起動します。[ファイル] / [File] メニューで [新規作成] / [New] をポイントし、[プロジェクト] / [Project] をクリックします。[Visual C++] をクリックしてプロジェクトの種類を選択してから、[Win32 コンソール アプリケーション] / [Win32 Console Application] をクリックします (図 1)。

Page 4: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

4

図 1

[名前] / [Name] ボックスに「HelloWorld」と入力し、[OK] をクリックします。[場所] / [Location] ボックスに「C:\」と入力します。

Win32 アプリケーション ウィザードで [完了] / [Finish] をクリックします。すると、図 2 に示すようなプロジェクトが作成されます。

Page 5: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

5

図 2

図 2 に示すように、「printf(“Hello World\n”)”」というコードを入力します。動的な依存関係ができないように、アプリケーションを一部変更する必要があります。まず、ソリューション エクスプローラで HelloWorld プロジェクトを右クリックしてから、[プロパティ] / [Properties] をクリックします。[構成プロパティ] / [Configuration Properties] を展開してから、[C/C++] を展開します。[コード生成] / [Code Generation] をクリックします。ランタイム ライブラリをマルチスレッド デバッグ DLL (/MDd) からマルチスレッド デバッグ (/MTd) に変更します (図 3)。

Page 6: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

6

図 3

ランタイム ライブラリを [マルチスレッド デバッグ] / [Multi-threaded Debug] に変更すると、アプリケーションが完結し、追加 DLL の必要がなくなります。これでアプリケーションは完成です。CTRL+F5 を押してアプリケーションをテストします。コンソール ウィンドウに「Hello World」と表示されます。

Windows Embedded Standard 7 のイメージの準備

アプリケーションが完成したので、このアプリケーションを展開するために必要なフットプリントが最小限になる Windows Embedded Standard 7 の OSイメージを作成することが目標になります。イメージを作成するには、次の手順に従います。

“HelloWorld” アプリケーションを静的に分析

ICE (Image Configuration Editor) を起動するため、[スタート] をクリックし、[すべてのプログラム]、[Windows Embedded Standard 7] の順にポイントして、[Image Configuration Editor] をクリックします。次に、[File] をポイントし、[Select Distribution Share] をクリックして、32 ビットの配布共有を開きます。[File] メニューで [New Answer File] をクリックします。画面が、図 4 のようになります。

Page 7: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

7

図 4

空の応答ファイルを作成したので、HelloWorld.exe バイナリを静的に分析します。[Tools] メニューで [Analyze Static Dependencies] をクリックします。Windows の [ファイルを開く] ダイアログ ボックスが表示されます。[Files of type arrow] をクリックし、[Executables and Libraries (*.dll, *.exe)] を選択します。

Page 8: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

8

HelloWorld.exe ファイルを C:\HelloWorld\Debug フォルダーから探し、[開く] をクリックします。[Analyze Static Dependencies] ダイアログ ボックスが表示されます (図 5)。

図 5

必須パッケージはすでに応答ファイルにあります。

イメージを作成し、そのイメージ上でアプリケーションを実行する場合、通常は [Copy Analyzed File(s) to a new $OEM Folders subfolder] チェック ボックスをオンにします。現在のイメージの目標は、アプリケーションをデバッグすることなので、この手順は省略します。アプリケーションを実際に展開する場合は、このオプションを選択します。アプリケーションを検査し、デバッグしたら、この手順に戻り、バイナリがターゲット イメージに正しく展開されるように、このオプションを選択できます。[Copy Analyzed File(s) to a new $OEM Folders subfolder] チェック ボックスをオフにし、[OK] をクリックします。

Page 9: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

9

1. 依存関係を解決します。

ICE で CTRL+F5 を押してイメージの依存関係をすべて解決します。メッセージ ペインに エラーが 1 つ表示されます。このエラーをダブルクリックすると、[Resolve Dependencies] ダイアログ ボックスが表示されます (図 6)。

図 6

図 6 に示すオプションを選択します。

Page 10: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

10

2. ターゲット機器の共有フォルダーを作成します。

アプリケーションをターゲット機器で実行できるようにするには、共有フォルダーを作成します。 [Insert] メニューで [Synchronous Command] をポイントし、 [Pass 7 oobeSystem] をクリックします。[Create Synchronous Command] ダイアログ ボックスが表示されます (図 7)。

図 7

[Enter a command line] に「mkdir c:\temp」と入力します。[OK] をクリックします。コマンドが実行されると、アプリケーションの展開先フォルダーが作成されます。

プログラムをターゲット コンピューターに動的に展開するには、同期コマンドをもう 1 つ追加します。[Insert] メニューで [Synchronous Command] をポイントし、[Pass 7 oobeSystem] をクリックします。net share temp=c:\temp /grant:EVERYONE,FULL コマンドを入力します (図 8)。

図 8

Page 11: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

11

3. Visual Studio デバッガをイメージに追加します。

この演習の目標は、アプリケーションを実行することだけではなく、問題が発生した場合に備えてリモート デバッグを設定することなので、Visual Studio デバッグ クライアントをイメージにインストールする必要があります。リモート デバッグ クライアントは、Visual Studio 2005 以降のインストール メディアにあります。Visual Studio 2008 のインストール メディアでは、Remote Debugger\x86\rdbgsetup.exe にあります。この項目を静的に分析し、イメージに追加します。 [Tools] メニューで [Analyze Static Dependencies] をクリックします。

静的な分析を行うと、この項目には Windows Embedded Core パッケージ以外に必要なものがないことがわかります。[Copy analyzed File(s) into $OEM$ Folder subfolder] チェック ボックスをオンにします。名前に「Debug」と入力し、[Add new subfolder path to OemFolderPaths] を選択します (図 9)。

図 9

Page 12: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

12

リモート デバッガをインストールするために必要な手順がもう 1 つあります。[Insert] メニューで [Synchronous Command] をポイントし、[Pass 7 oobeSystem] をクリック します。[Enter a command line] に、「C:\rdbgsetup.exe」(リモート デバッガ セットアップ) と入力します。このコマンドで、イメージの最初の起動時にリモート デバッガのセットアップが実行されます (図 10)。

図 10

4. IBW イメージを作成します。

応答ファイルを用意できたので、必要なパッケージだけの IBW イメージを作成できます。コンピューターに USB キーを挿入します。ICE の [Tools] メニューで [Create Media] をポイントし、[Create IBW Image from Answerfile] をクリックします。[Create IBW Disk] ダイアログ ボックスが表示されます。USB キーのルート フォルダーを探します。[OK] をクリックします。イメージの作成に必要なファイルが USB ドライブにコピーされます (図 11)。

Page 13: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

13

図 11

展開

IBW を使用してイメージを作成する前に、イメージが USB キーから起動できるように、キーのプライマリ パーティションがアクティブに設定されていることを確認します。図 12 に示すようにディスク管理ユーティリティを使用します。[Start] をクリックして「Computer Management」と入力し、ENTER を押します。コンピューター管理ユーティリティが表示されます (図 12)。USB パーティションを右クリックし、[Mark Partition as Active] をクリックします。

図 12

Page 14: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

14

USB デバイスの起動が優先されるように機器の BIOS が設定されていることを確認します。USB キーを機器に挿入して機器を再起動します。IBW が表示されます (図 13)。

図 13

Page 15: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

15

ライセンスに同意します。既定のオプションを使用するか、必要に応じてオプションを変更します。選択内容は、このあとの手順に関係ありません。イメージが展開されたら、表示が図 14 のようになります。

図 14

Page 16: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

16

デバッグ

イメージが展開されたので、アプリケーションをリモートで展開することは簡単です。まず Visual Studio で、アプリケーションをローカルに出力しないで、作成した組み込みコンピューターに出力します。Visual Studio の [プロジェクト] / [Project] メニューで [プロパティ] / [Properties] をクリックします。[プロジェクトのプロパティ] / [Project Properties] ページが表示されます (図 15)。

図 15

Page 17: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

17

[構成プロパティ] / [Configuration Properties] を展開してから、[全般] / [General] を クリックします。既定の [出力ディレクトリ] / [Output Directory] を、ターゲット コンピューターの temp フォルダーに変更します。たとえば、コンピューターの名前が Foo の場合は、「\\Foo\temp\$(ConfigurationName)」と入力します。これを図 16 に示し ます。

図 16

Page 18: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

18

[構成プロパティ] / [Configuration Properties] リストから [デバッグ] / [Debugging] をクリックします。Visual Studio の既定のオプションではローカル デバッガが使用されます。[リモート Windows デバッガ] / [Remote Windows Debugger] チェック ボックスをオンにして、リモート デバッガを使用することを選択します (図 17)。

図 17

Page 19: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

19

リモート コマンドに、「$(OutDir)\$(ProjectName).exe」と入力します。これで、プログラムがリモート コンピューターで起動します。[リモート サーバー名] / [Remote Server Name] と [接続] / [Connection] の各オプションを、ターゲット イメージに使用する コンピューター名と認証に変更します。これは、ドメインまたはワークグループの一部に接続しているかどうかによって異なります。これを図 18 に示します。

図 18

Page 20: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

20

作業はほぼ完了です。ターゲット コンピューターで、リモート デバッグ クライアントを実行します。ターゲット コンピューターで [スタート] をクリックし、[プログラム]、[Microsoft Visual Studio 2008] の順にポイントします。[Visual Studio Tools] をポイントし、[Visual Studio 2008 リモート デバッガ] / [Visual Studio 2008 Remote Debugger] をクリックします。[Visual Studio リモート デバッグ モニタ] / [Visual Studio Remote Debug Monitor] が表示されます (図 19)。

図 19

これで、アプリケーションを展開用コンピューターからターゲット コンピューターに直接展開し、デバッグする準備ができました。C++ プロジェクトで、コンソールに「Hello World」と表示される箇所にブレークポイントを設定します (図 20)。

図 20

Page 21: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

21

[デバッグ] / [Debug] メニューで [デバッグ開始] / [Start Debugging] をクリックします。これで、ターゲット コンピューターでアプリケーションが起動します。ターゲットの Windows Embedded Standard 7 コンピューターのリモート デバッグ クライアントで、外部コンピューターが接続したという通知を受け取ります (図 21)。

図 21

アプリケーションを実行すると、開発用コンピューターで設定したブレークポイントに達します (図 22)。

図 22

Page 22: Windows Embedded Standard 7 の 使用によるアプ …download.microsoft.com/download/7/A/7/7A78292A-0F53-4D94...Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

Windows Embedded Standard 7 の使用によるアプリケーションの開発、展開、デバッグ

22

まとめ

この文書で説明した方法は、Visual C++ アプリケーションだけでなく、Windows 7 で作成できるその他のアプリケーションすべてに応用できます。これには、ASP.NET ページ、Windows フォーム アプリケーション、WPF (Windows Presentation Framework) アプリケーション、Silverlight アプリケーション、WCF (Windows Communication Framework) サービスなどが含まれます。また、ここでは詳細を省きますが、Windows 7 で実行できるサード パーティやオープン ソースのテクノロジも Windows Embedded Standard 7 で実行できます。正しい依存関係がターゲット イメージに与えられるため、Windows Embedded Standard 7 で開発、展開、デバッグできるアプリケーションに制限はありません。