リアルタイム対応アプリケーションで周辺機器を使用する
リアルタイム対応アプリケーション (RTApps) は、専用の周辺機器をマップできます。 RTApp で 1 つ以上の周辺機器を使用するには:
- 周辺機器をアプリケーション マニフェストに追加します。
- 割り込みハンドラー (必要な場合) とその他のサポート コードをアプリケーションに追加します。
- 起動時に各周辺機器が既知の良好な状態になるようにコードを追加します。
大事な
RTApp の周辺機器をプログラムする方法に関するハードウェア固有の情報については、ハードウェアの製造元のドキュメントを参照してください。 MT3620 のレジスタ ベース アドレス、割り込み番号、クロック レート、サンプリング周波数、その他の詳細については、 MT3620 データシート と MT3620 M4 ユーザー マニュアルを参照してください。質問が残っている場合は、電子メールで Avnet に詳細を Azure.Sphere@avnet.com要求できます。
RTApp で使用されるすべてのリソースは、アプリケーション マニフェストで指定する必要があります。 RTApp では、ターゲット チップのハードウェア定義 JSON ファイルで AppManifestValue に割り当てられているリソースの名前を使用する必要があります。 ハードウェア定義ヘッダー ファイル内のリソースに割り当てられた高レベルの名前を使用することはできません。 たとえば、MT3620 ハードウェアの ISU0 で I2C を識別する値を見つけるには、Microsoft Azure Sphere SDK フォルダーにインストールされている HardwareDefinitions フォルダーにある mt3620.json ファイルを調べます。 この周辺機器は、JSON ファイルで次のように定義されます。
{"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},
I2C 周辺機器の AppManifestValue に割り当てられる値は "ISU0" であることに注意してください。
同時に読み込まれたアプリケーションはリソースを共有できません。リソースの使用は、1 つのアプリケーションに対して排他的です。 Azure Sphere OS は、アプリケーションを読み込むときにいくつかの重要なタスクを実行します。
- 周辺機器に関連付けられているピンが要求された機能用に構成されるように、多重化を構成します。
- コア マッピングを設定します。これには、アプリケーションが要求された周辺機器に関連付けられているレジスタにアクセスできるようにファイアウォールを構成する必要があります。
- マニフェストを確認し、別のアプリによって既に要求されているリソースを要求する場合、アプリケーションの読み込みに失敗します。
このセクションの残りの部分では、特定の周辺機器の使用について詳しく説明します。
メモ
Azure Sphere OS は、起動時に周辺機器をリセットしません。 アプリケーションでは、起動時または再起動後に周辺機器が既知の良好な状態になっていることを確認する必要があります。
周辺機器を使用する新しいアプリケーションがインストールされ、次の条件が満たされると、デバイスの再起動がトリガーされます。
- デバイスの製造状態は DeviceComplete に設定されます。
- appDevelopment 機能がデバイスに存在しません。 詳細については、「 周辺機器の構成のロック」を参照してください。
デバイスの再起動が開始された場合は、再起動が完了し、デバイスが応答するまで待ちます。
トピック | 説明 |
---|---|
リアルタイム対応アプリケーションで ADC を使用する | Azure Sphere でアナログデジタル コンバーター (ADC) を使用する方法について説明します。 |
リアルタイム対応アプリケーションで GPIO を使用する | Azure Sphere で汎用入出力 (GPIO) を使用する方法について説明します。 |
リアルタイム対応アプリケーションで GPT を使用する | Azure Sphere で汎用タイマー (GPT) を使用する方法について説明します。 |
リアルタイム対応アプリケーションで I2C を使用する | シリアル通信に Inter-Integrated 回線 (I2C) を使用する方法について説明します。 |
リアルタイム対応アプリケーションで I2S を使用する | Azure Sphere で統合インターチップ サウンド (I2S) を使用する方法について説明します |
リアルタイム対応アプリケーションで PWM を使用する | Azure Sphere でパルス幅変調 (PWM) を使用する方法について説明します。 |
リアルタイム対応アプリケーションで SPI を使用する | シリアル通信にシリアル周辺機器インターフェイス (SPI) を使用する方法について説明します。 |
リアルタイム対応アプリケーションで UART を使用する | シリアル通信に UART を使用する方法について説明します。 |
リアルタイム対応アプリケーションで外部割り込みを使用する | RTApp で外部割り込みを使用して外部信号に応答する方法について説明します。 |
リアルタイム対応アプリケーションでウォッチドッグ タイマーを使用する | MT3620 リアルタイム コアでウォッチドッグ タイマーを使用する効果について説明します。 |