Uso di oggetti Criteri di gruppo in applicazioni che supportno il supporto in tempo reale

Azure Sphere supporta GPIO (general-purpose input/output). GPIO è un tipo di pin digitale programmabile su un circuito integrato. Gli oggetti Criteri di gruppo non hanno funzionalità predefinite e il loro comportamento può essere personalizzato da un'applicazione. Alcuni usi comuni per gli oggetti Criteri di gruppo sono la modifica dello stato dei dispositivi hardware, il controllo dei LED e la lettura dello stato delle opzioni.

Questo argomento descrive come usare gpio in un'applicazione che supporta in tempo reale (RTApp). Per informazioni sull'uso di oggetti Criteri di gruppo in applicazioni di alto livello, vedere Uso di oggetti Criteri di gruppo nelle applicazioni di alto livello.

Un'RTApp può usare uno qualsiasi degli oggetti Criteri di gruppo nel dispositivo Azure Sphere. Per GPIO sono supportate le operazioni seguenti:

  • Leggere l'input
  • Impostare l'output su alto o basso
  • Interruzioni del software di polling

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 e dopo il riavvio.

Supporto di MT3620 per GPIO sui core in tempo reale

Sulla MT3620, la maggior parte degli OGGETTI CRITERI di gruppo è mappata a core in tempo reale in blocchi di quattro, a partire da GPIO 0; tuttavia, i blocchi ISU da 0 a 4 hanno cinque GPIO. Di conseguenza, le richieste GPIO RTApp potrebbero non riuscire se un'applicazione di livello elevato (o un'altra RTApp) richiede un GPIO nello stesso blocco. Ad esempio, se un'app di livello elevato richiede GPIO 8 e una RTApp richiede GPIO 9, la seconda app restituisce un errore durante la distribuzione.

Ogni LED su MT3620 RDB esegue il mapping a tre GPIO: uno per i canali rosso, verde e blu.

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

Requisiti GPIO

Il codice dell'applicazione deve essere in grado di identificare GPIO e i relativi registri. L'indirizzo di base del registro è disponibile nella documentazione hardware del produttore. Prima che l'RTApp possa utilizzare un GPIO, deve inizializzare i blocchi che userà. L'inizializzazione è necessaria una sola volta per ogni blocco utilizzato dall'app.

Per informazioni dettagliate sull'MT3620, vedi Supporto mt3620 per gpio sui core in tempo reale.

Impostazioni del manifesto dell'applicazione

Per usare un GPIO, un'RTApp deve elencarlo nella sezione Funzionalità del manifesto dell'applicazione. Identificare GPIO utilizzando il "AppManifestValue" definito per esso nel file JSON per l'hardware di destinazione. Ad esempio, la riga seguente riserva GPIO 8 e 12:

"Capabilities": {
 "Gpio": [ 8, 12 ]
}

Applicazione di esempio GPIO

Nell'esempio GPIO viene illustrato come usare oggetti Criteri di gruppo in un'RTApp. I file README forniscono dettagli e istruzioni.