クイック スタート:Blink サンプル アプリケーションをビルドするQuickstart: Build the Blink sample application

このクイック スタートでは、Azure Sphere デバイスでアプリケーションを開発できるようにする方法と、サンプル アプリケーションをビルドしてデバッグする方法を示します。This quickstart shows how to enable application development on an Azure Sphere device and how to build and debug a sample application. Azure Sphere SDK の一部である Blink サンプルを使用します。It uses the Blink sample, which is part of the Azure Sphere SDK. Blink サンプルを見ると、開発ボードで GPIO と LED にアクセスする方法がわかります。The Blink sample shows how to access GPIOs and LEDs on the development board.

前提条件Prerequisites

このクイック スタートの手順では、以下を前提とします。The steps in this quickstart assume that:

開発とデバッグのためにデバイスを準備するPrepare your device for development and debugging

Azure Sphere デバイスでサンプル アプリケーションを実行したり、Azure Sphere デバイス用の新しいアプリケーションを開発したりするには、その前に、ボードでの開発とデバッグを有効にする必要があります。Before you can run the sample applications on your Azure Sphere device or develop new applications for it, you must enable development and debugging on the board. 既定では、Azure Sphere デバイスは "ロックされています"。つまり、開発中のアプリケーションを PC から読み込むことはできず、アプリケーションのデバッグは許可されません。By default, Azure Sphere devices are "locked"; that is, they do not allow applications under development to be loaded from a PC, and they do not allow debugging of applications. デバッグ用にデバイスを準備すると、この制限が解除されます。Prepping the device for debugging removes this restriction.

azsphere device prep-debug コマンドを実行すると、PC からデバッグ用のアプリケーションを受け入れるようにデバイスが構成され、デバイスにデバッグ サーバーが読み込まれます。The azsphere device prep-debug command configures the device to accept applications from a PC for debugging and loads the debugging server onto the device. また、無線経由 (OTA) のアプリケーション更新を許可しないデバイス グループに、デバイスが割り当てられます。It also assigns the device to a device group that does not allow over-the-air (OTA) application updates. アプリケーションの開発およびデバッグ中は、OTA アプリケーション更新によって開発中のアプリケーションが上書きされないように、デバイスをこのグループに残しておく必要があります。During application development and debugging, you should leave the device in this group so that OTA application updates do not overwrite the application under development.

デバイスを準備するにはTo prep your device

  1. Azure Sphere デバイスが PC に接続され、PC がインターネットに接続されていることを確認します。Make sure that your Azure Sphere device is connected to your PC, and your PC is connected to the internet.

  2. Azure Sphere 開発者コマンド プロンプト ウィンドウで、次のコマンドを入力します。In an Azure Sphere Developer Command Prompt window, type the following command:

    azsphere device prep-debug
    

    次のような出力が表示されます。You should see output similar to the following:

    Getting device capability configuration for application development.
    Downloading device capability configuration for device ID 'ABCDE082513B529C45098884F882B2CA6D832587CAAE1A90B1CEC4A376EA2F22A96C4E7E1FC4D2AFF5633B68DB68FF4420A5588B420851EE4F3F1A7DC51399ED'.
    Successfully downloaded device capability configuration.
    Successfully wrote device capability configuration file 'C:\Users\user\AppData\Local\Temp\tmpD732.tmp'.
    Setting device group ID 'a6df7013-c7c2-4764-8424-00cbacb431e5' for device with ID 'ABCDE082513B529C45098884F882B2CA6D832587CAAE1A90B1CEC4A376EA2F22A96C4E7E1FC4D2AFF5633B68DB68FF4420A5588B420851EE4F3F1A7DC51399ED'.
    Successfully disabled over-the-air updates.
    Enabling application development capability on attached device.
    Applying device capability configuration to device.
    Successfully applied device capability configuration to device.
    The device is rebooting.
    Installing debugging server to device.
    Deploying 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' to the attached device.
    Image package 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' has been deployed to the attached device.
    Application development capability enabled.
    Successfully set up device 'ABCDE082513B529C45098884F882B2CA6D832587CAAE1A90B1CEC4A376EA2F22A96C4E7E1FC4D2AFF5633B68DB68FF4420A5588B420851EE4F3F1A7DC51399ED' for application development, and disabled over-the-air updates.
    Command completed successfully in 00:00:38.3299276.
    
    

The device remains enabled for debugging and closed to OTA application updates until you explicitly change it. To disable debugging and allow application updates, use the azsphere device prep-field command.

You can also create your own device group that does not enable OTA application updates. See azsphere device-group create and azsphere device update-device-group for details.

Application manifest settings

The application manifest in this sample includes the following GPIO settings.

    "Gpio": [ 8, 9, 10, 12 ],

Gpio 機能により、デバイスとの対話に必要な LED とボタンへのアクセス権がアプリケーションに提供されます。The Gpio capability provides the application with access to the LED and button needed to interact with the device. Gpio 機能の最初の 3 つの整数 (8、9、10) によって、LED 1 の赤、緑、および青のカラー チャネルが有効になります。The first three integers (8, 9, and 10) in the Gpio capability enable the red, green, and blue color channels for LED 1. 4 番目の整数 (12) によって、ボタン A が有効になります。The fourth integer (12) enables button A.

  1. Visual Studio 2017 を起動し、[ファイル]>[新規]>[プロジェクト] に移動します。Start Visual Studio 2017 and go to File>New>Project. [Visual C++]>[クロス プラットフォーム]>[Azure Sphere] で、Azure Sphere のテンプレートを利用できます。The templates for Azure Sphere are available in Visual C++>Cross Platform>Azure Sphere. Blink Sample for MT3620 RDB (Azure Sphere) を選択します。Select Blink Sample for MT3620 RDB (Azure Sphere).

    Visual Studio での Azure Sphere テンプレート

  2. プロジェクトの名前と場所を入力し、[OK] を選択します。Enter a name and location for the project and select OK.

    エディターの 2 つのウィンドウに、プロジェクトの main.c と Mt3620Blink が開かれます。The project opens with two windows in the editor: main.c and Mt3620Blink. MT3620Blink のウィンドウはプロジェクトに対する Visual Studio の概要ページであり、デバイスと Azure Sphere アプリケーション開発に関する情報にリンクしています。The MT3620Blink window is a Visual Studio Overview page for the project, which links to information about your device and Azure Sphere application development.

  3. newButtonState の値をテストする行に移動し、F9 キーを押してブレークポイントを設定します。Navigate to the line that tests the value of newButtonState and press F9 to set a breakpoint:

    if (newButtonState == GPIO_Value_Low) {

  4. ボードが USB で PC に接続されていることを確認します。Ensure that your board is connected to your PC by USB. 次に、メニュー バーから [リモート GDB デバッガー] を選択するか、または F5 キーを押します。Then select Remote GDB Debugger from the menu bar or press F5.

    [リモート GDB デバッガー] ボタン

  5. プロジェクトのビルドを求めるメッセージが表示されたら、[はい] を選択します。If you are prompted to build the project, select Yes. Visual Studio により、アプリケーションがコンパイルされ、イメージ パッケージが作成され、ボードに "サイドローディング" されて、デバッグ モードで開始されます。Visual Studio compiles the application, creates an image package, sideloads it onto the board, and starts it in debug mode. "サイドローディング" とは、アプリケーションが、Wi-Fi による無線経由 (OTA) の配信ではなく、有線接続経由で PC から直接配信されることを意味します。Sideloading means that the application is delivered directly from the PC over a wired connection, rather than delivered over the air (OTA) by Wi-Fi.

    ヒント

    ビルド出力のパスに注意してください。これは、PC での出力イメージ パッケージの場所を示します。Note the path in the Build output, which indicates the location of the output image package on your PC. イメージ パッケージは後のデプロイ クイック スタートで使用します。You'll use the image package later in the Deployment Quickstart.

  6. A キーを押します。Visual Studio は、設定されているブレークポイントで停止します。Press button A. Visual Studio stops at the breakpoint that you set. [デバッグ] > [Windows] を開き、[自動変数] を選択して、現在と前のステートメントで使用されている変数を表示します。Open Debug>Windows and select Autos to display the variables that are used in the current and previous statements. プログラムの実行がブレークポイントで停止した後、呼び出し履歴と自動変数が設定されます。Visual Studio populates the call stack and the auto variables after program execution stops at the breakpoint. 次の例では、newButtonState 変数の値は 0 で、これは GPIO_Value_Low と等しく、ボタンが押されたことを示します。In the following example, the value of the newButtonState variable is 0, equal to GPIO_Value_Low, which indicates a button press.

    [自動変数] での newButtonState の値

  7. 既定では、[出力] ウィンドウにデバイス出力からの出力が表示されます。By default, the Output window shows output from Device Output. デバッガーからのメッセージを表示するには、[出力元] ドロップダウン メニューで [デバッグ] を選択します。To see messages from the debugger, select Debug from the Show output from: dropdown menu. [デバッグ] > [Windows] メニューからは、プログラムの逆アセンブリ、レジスタ、またはメモリを調べることもできます。You can also inspect the program disassembly, registers, or memory through the Debug>Windows menu.

  8. [続行] をクリックします。Select Continue. このブレークポイントで実行が再び一時停止します。Execution pauses again at this breakpoint. 今度は、newButtonState 変数の値は 1 で、GPIO_Value_High と等しく、ボタンが離されていることを示します。Now the value of newButtonState variable is 1, equal to GPIO_Value_High, which indicates a button release. ブレークポイントを削除するには、F9 キーを押します。Press F9 to remove the breakpoint. これで、A キーを押して離すたびに、点滅の速度が変わるようになります。Now, each time you press and release Button A, the blink rate changes.

  9. デバッグが終わったら、メニュー バーの [停止] アイコンを選択するか、または Shift + F5 キーを押します。When you are done debugging, select the Stop icon in the menu bar or press Shift+F5.

次の手順Next steps

このクイック スタートでは、デバッグ用に Azure Sphere デバイスを準備する方法、およびアプリケーションをビルドしてデバッグする方法を示しました。This quickstart showed how to prepare your Azure Sphere device for debugging and how to build and debug an application.

次に、無線経由でアプリケーションを展開する方法を学習してください。Next, learn how to deploy the application over the air.