演習 - Azure RTOS のリアルタイム センサー アプリケーションをデプロイして室内環境を監視する

完了

この演習では、Azure Sphere にリアルタイム アプリケーションをデプロイします。

ステップ 1: Azure Sphere 上の既存のアプリケーションを削除する

  1. Azure Sphere で実行されている既存の高レベル アプリケーションと、この演習で Azure Sphere にデプロイする新しいリアルタイム アプリケーションの間で、周辺機器の再割り当てが発生します。 そのため、競合を避けるために Azure Sphere 上の既存のアプリケーションを削除する必要があります。

    Windows PowerShell コマンド ラインまたは Linux ターミナルで次のコマンドを実行して、既存のアプリケーションを削除します。

    azsphere device sideload delete
    
  2. 既存のシリコン ファイアウォール設定をクリアするために、Azure Sphere デバイスを再起動する必要があります。 Windows PowerShell コマンド ラインまたは Linux ターミナルで、次のコマンドを実行します。

    azsphere device restart
    

ステップ 2: プロジェクトを開く

  1. Visual Studio Code を起動して、プロジェクトを開きます。

  2. [フォルダーを開く] をクリックします。

  3. Azure-Sphere lab フォルダーを開きます。

  4. Lab_6_AzureRTOS_Environment フォルダーを開きます。

  5. [フォルダーの選択] または [OK] ボタンをクリックしてプロジェクトを開きます。

    Start Visual Studio Code.

  6. Visual Studio Code の Peacock 拡張機能をインストール済みである場合、Visual Studio Code が赤になります。 ここでは、Visual Studio Code の 2 つのインスタンスを Azure Sphere に接続します。 赤い色のインスタンスがリアルタイム コアに接続されています。

ステップ 3: 開発者ボードの構成を設定します

これらのラボでは、AVNET と Seeed Studio の開発者ボードがサポートされています。 お使いの開発者ボードと一致する構成を設定する必要があります。

既定の開発者ボードの構成は、Avnet Azure Sphere スタート キット リビジョン 1 用です。 このボードを使用している場合、追加の構成は必要ありません。

  1. CMakeList.txt ファイルを開きます。

  2. set Avnet の行の先頭に # を追加して、無効にします。

  3. お使いの Azure Sphere デバイス開発者ボードに対応する set コマンドのコメントを解除します。

    set(AVNET TRUE "AVNET Azure Sphere Starter Kit Revision 1 ")
    # set(AVNET_REV_2 TRUE "AVNET Azure Sphere Starter Kit Revision 2 ")
    # set(SEEED_STUDIO_RDB TRUE "Seeed Studio Azure Sphere MT3620 Development Kit (aka Reference Design Board or rdb)")
    # set(SEEED_STUDIO_MINI TRUE "Seeed Studio Azure Sphere MT3620 Mini Dev Board")
    
  4. ファイルを保存します。 これにより、CMake キャッシュが自動的に生成されます。

ステップ 4: Azure Sphere に Azure RTOS アプリケーションをデプロイする

  1. [CMake: [Debug]: Ready]\(CMake: [デバッグ]: 準備完了\) を Visual Studio Code のステータス バーから選択します。

    This illustration shows you how to set the the debug build.

  2. Visual Studio Code で F5 キーを押して、アプリケーションをビルド、デプロイ、開始し、Azure Sphere デバイスで実行するようになったアプリケーションにリモート デバッガーをアタッチします。

ステップ 5: リアルタイム コア アプリケーションのデバッグ

Azure Sphere Cortex M4 リアルタイム コアで実行されている Azure RTOS アプリケーションをデバッグできます。

  1. Visual Studio Code から demo_threadx ディレクトリに移動し、demo_azure_rtos.c ファイルを開きます。

  2. intercore_thread という名前の関数まで下にスクロールします。

    Note

    Visual Studio Code の [Go to Symbol in Editor]\(エディターでシンボルに移動\) を使用します。 キーボード ショートカットの Ctrl + Shift + O キーを使用し、「intercore_thread」と入力し始めます。 ドロップダウンには、関数名が 2 回一覧表示されることがよくあります。 1 つ目は関数プロトタイプまたは転送シグネチャ宣言で、2 つ目は関数の実装です。

  3. switch (ic_control_block.cmd) と示されている行の intercore_thread 関数にブレークポイントを設定します

    Note

    ブレークポイントを設定する方法については、こちらの Visual Studio Code デバッグに関する記事を参照してください。

    The illustration shows how to set a breakpoint in Visual Studio Code.

  4. Visual Studio Code とアプリを、ブレークポイントを設定した状態で実行したままにします。 次に、高レベル アプリケーションを Cortex A7 コアにデプロイします。そうすると、Cortex M4 コアで実行されているリアルタイム アプリの環境テレメトリが要求されます。