Använda kringutrustning i ett program på hög nivå
Viktigt!
Det här är dokumentationen om Azure Sphere (Legacy). Azure Sphere (Legacy) upphör den 27 september 2027 och användarna måste migrera till Azure Sphere (integrerad) vid den här tiden. Använd versionsväljaren ovanför TOC för att visa dokumentationen om Azure Sphere (integrerad).
Högnivåprogram kan mappa kringutrustning för exklusiv användning. Så här använder du en eller flera kringutrustningar i ett program på hög nivå:
- Lägg till kringutrustningen i programmanifestet.
- Lägg till en avbrottshanterare (om det behövs) och annan stödjande kod i programmet.
- Lägg till kod för att säkerställa att varje kringutrustning är i ett känt bra tillstånd vid start.
Alla resurser som en högnivåapp använder måste anges i programmanifestet. I en högnivåapp kan du använda antingen namnet på resursen som har tilldelats AppManifestValue i JSON-filen för maskinvarudefinitionen för målchipet eller det högnivånamn som tilldelats resursen i maskinvarudefinitionshuvudfilen. Om du till exempel vill hitta värdet för att identifiera I2C på ISU0 på MT3620-maskinvara tittar du i filen mt3620.json i mappen HardwareDefinitions som är installerad i microsoft Azure Sphere SDK-mappen. Den här kringutrustningen definieras enligt följande i JSON-filen:
{"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},
Observera att värdet som tilldelats AppManifestValue för I2C-kringutrustningen är "ISU0", medan det övergripande namnet är "MT3620_ISU0_I2C".
Samtidigt inlästa program kan inte dela resurser. resursanvändning är exklusivt för ett enda program. Azure Sphere OS utför flera viktiga uppgifter när programmet läses in:
- Konfigurerar multiplexering så att de stift som är associerade med kringutrustningen konfigureras för de begärda funktionerna.
- Konfigurerar kärnmappning, vilket innebär att konfigurera brandväggar så att programmet har åtkomst till de register som är associerade med den begärda kringutrustningen.
- Kontrollerar manifestet och kan inte läsa in programmet om det gör anspråk på resurser som redan har begärts av en annan app.
Resten av det här avsnittet innehåller information om hur du använder specifik kringutrustning.
Kommentar
Azure Sphere OS återställer inte kringutrustning vid start. Dina program bör se till att kringutrustningen är i ett känt bra tillstånd vid start eller efter omstart.
En omstart av enheten utlöses när ett nytt program som använder kringutrustning installeras och följande villkor uppfylls:
- Enhetens tillverkningstillstånd är inställt på DeviceComplete.
- Funktionen appDevelopment finns inte på enheten. Mer information finns i Låsning av kringutrustningskonfiguration.
Om en omstart av enheten initieras väntar du tills omstarten är klar och enheten blir responsiv.
Område | beskrivning |
---|---|
Använda ADC:er i högnivåprogram | Beskriver hur du använder analoga till digitala konverterare (ADCs) med Azure Sphere. |
Använda GPIO i högnivåprogram | Beskriver hur du använder allmän användning av indata/utdata (GPIO) med Azure Sphere. |
Använda I2C i högnivåprogram | Beskriver hur du använder interintegrerad krets (I2C) för seriekommunikation. |
Använda PWM i högnivåprogram | Beskriver hur du använder pulsbreddsmodulering (PWM) med Azure Sphere. |
Använda SPI i högnivåprogram | Beskriver hur du använder SPI (Serial Peripheral Interface) för seriell kommunikation. |
Använda UART i högnivåprogram | Beskriver hur du använder UART för seriell kommunikation. |
Använda vakthundstimers i högnivåprogram | Beskriver hur du använder en vakthundstimer. |