Usare le periferiche in un'applicazione in tempo reale

Le applicazioni in tempo reale (RTApps) possono mappare le periferiche per l'uso esclusivo. Per usare una o più periferiche in una RTApp:

  • Aggiungere la periferica al manifesto dell'applicazione.
  • Aggiungere un gestore di interrupt (se necessario) e altro codice di supporto all'applicazione.
  • Aggiungi codice per assicurarti che ogni periferica sia in uno stato di buono stato noto all'avvio.

Importante

Per informazioni specifiche sull'hardware su come programmare le periferiche per un'RTApp, vedi la documentazione del produttore dell'hardware. Per gli indirizzi di base del registro, i numeri di interrupt, la frequenza di clock, la frequenza di campionamento e altri dettagli sull'MT3620, vedi il foglio dati MT3620 e il manuale dell'utente di MT3620 M4; se le domande rimangono, è possibile richiedere dettagli a Avnet inviando un messaggio di posta elettronica.Azure.Sphere@avnet.com

Tutte le risorse utilizzate da un'RTApp devono essere specificate nel manifesto dell'applicazione. In un'RTApp è necessario usare il nome della risorsa assegnata a AppManifestValue nel file JSON di definizione hardware per il chip di destinazione. Non è possibile usare il nome di alto livello assegnato alla risorsa nel file di intestazione delle definizioni hardware. Ad esempio, per trovare il valore per identificare I2C su ISU0 nell'hardware MT3620, cerca il file mt3620.json nella cartella HardwareDefinitions installata nella cartella Microsoft Azure Sphere SDK. Questa periferica è definita come segue nel file JSON:

 {"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},

Tieni presente che il valore assegnato a AppManifestValue per la periferica I2C è "ISU0".

Le applicazioni caricate simultaneamente non possono condividere risorse; uso delle risorse è esclusivo di una singola applicazione. Il sistema operativo Azure Sphere esegue diverse attività importanti quando carica l'applicazione:

  • Configura il multiplexing, in modo che i pin associati alla periferica siano configurati per la funzionalità richiesta.
  • Configura il mapping di base, che implica la configurazione di firewall in modo che l'applicazione abbia accesso ai registri associati alle periferiche richieste.
  • Controlla il manifesto e non riesce a caricare l'applicazione se attesta risorse che sono già state rivendicate da un'altra app.

Nella parte restante di questa sezione vengono fornite informazioni dettagliate sull'uso di periferiche specifiche.

Nota

Il sistema operativo Azure Sphere non reimposta le periferiche all'avvio. Le applicazioni devono verificare che le periferiche siano in uno stato noto all'avvio o dopo il riavvio.

Un riavvio del dispositivo viene attivato quando viene installata una nuova applicazione che utilizza periferiche e vengono soddisfatte le condizioni seguenti:

Se viene avviato un riavvio del dispositivo, attendi il completamento del riavvio e il dispositivo risponde.

Argomento Descrizione
Usare adc in applicazioni in tempo reale Descrive come usare convertitori da analogico a digitale (ADC) con Azure Sphere.
Usare GPIO in applicazioni in tempo reale Descrive come usare l'input/output generico (GPIO) con Azure Sphere.
Usare GPT in applicazioni in tempo reale Descrive come usare i timer per uso generico (GPT) con Azure Sphere.
Usare I2C in applicazioni in tempo reale Descrive come usare Inter-Integrated Circuit (I2C) per la comunicazione seriale.
Usare I2S in applicazioni in tempo reale Descrive come usare Integrated Interchip Sound (I2S) con Azure Sphere
Usare PWM in applicazioni in tempo reale Descrive come usare la frequenza di compressione della larghezza degli impulsi (PWM) con Azure Sphere.
Usare SPI in applicazioni in tempo reale Descrive come usare SPI (Serial Peripheral Interface) per la comunicazione seriale.
Utilizzare gli UARTs in applicazioni in tempo reale Descrive come usare gli UART per la comunicazione seriale.
Usare interrupt esterni in applicazioni in tempo reale Descrive come usare gli interrupt esterni in un'RTApp per rispondere a segnali esterni.
Usare i timer del cane da guardia in applicazioni in tempo reale Descrive gli effetti dell'uso dei timer del cane da guardia sui core in tempo reale di MT3620.