Dela via


Hantera Power Down-tillstånd för Azure Sphere-enheter

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).

Ett Azure Sphere-program på hög nivå kan använda API:et för energisparfunktioner för att försätta enheten i Power Down-tillstånd. Power Down-tillståndet är det lägsta möjliga energitillståndet som en enhet kan ha förutom att vara helt avstängd. Enheten kan väckas av någon av två händelser:

  • Ankomst av en indatasignal som utlöser WAKEUP-stiftet.
  • Passage av en angiven tidsperiod.

Om du vill använda den här funktionen måste du:

  1. Konfigurera maskinvaran.
  2. Deklarera ForcePowerDown-värdet för PowerControls-funktionen i programmanifestet.
  3. Använd PowerManagement_ForceSystemPowerDown från Power Management-API:et.

Power Down-tillstånd

Power Down-tillståndet har följande egenskaper:

  • Allt är avstängt förutom realtidsklockan (RTC). Det innebär att alla anslutningar, RAM-minne, flash, CPU-kärnor och så vidare är avstängda.
  • Det finns inget tillståndsbevarande. Att vakna upp från Power Down motsvarar en kall start.
  • Väckning från Power Down inträffar när realtidsklockans larm utlöses (tidsbaserad väckning) eller när WAKEUP-stiftet dras lågt (händelsebaserad aktivering), beroende på vilket som inträffar först.

Kommentar

DAA-certifikatet (kund) lagras beständigt. Därför ansluter inte en enhet till AS3 för ett nytt certifikat efter varje kall start eller power down som inträffar mellan normala 24-timmarsuppdateringar. Detta minskar både strömförbrukningen och den tid som krävs för att ansluta till molnet.

MT3620-detaljer

Överväganden för MediaTek MT3620 Power Down finns i MT3620-maskinvaruanteckningar.

Framtvinga nedströms och uppdateringar

Varning

Om du inte följer riktlinjerna i det här avsnittet kan det leda till att enheten inte kan hämta program- eller OS-uppdateringar och kräva återställning. Läs noggrant innan du använder ForcePowerDown.

Eftersom både ForcePowerDown och ForceReboot tillåter att ett program stänger av enheten när som helst, blir det programmets ansvar att se till att enheten fortfarande regelbundet kan söka efter uppdateringar när du använder ForcePowerDown eller ForceReboot. För att göra det enklare att söka efter uppdateringar i det här scenariot har vi infört uppdateringsrelaterade systemhändelsemeddelanden för att ge program information om uppdateringsprocessen så att dina appar kan fatta ett välgrundat beslut om när enheten ska stängas av. Relevanta tillgängliga systemhändelsemeddelanden är:

  • SysEvent_Events_NoUpdateAvailable: Uppdateringskontrollen har slutförts och inga os- eller programuppdateringar är tillgängliga.
  • SysEvent_Events_UpdateStarted: En uppdatering av operativsystemet eller programmet har börjat laddas ned. Den här händelsen kommer att följas av händelsen SysEvent_Events_UpdateReadyForInstall när uppdateringen är helt nedladdad och redo för installation. Om ingen uppdatering är tillgänglig skickas SysEvent_Events_NoUpdateAvailable i stället för den här händelsen.
  • SysEvent_Events_UpdateReadyForInstall: En uppdatering har laddats ned och är redo att tillämpas vid omstart.

Program som använder ForcePowerDown måste vara medvetna om enhetens uppdateringstillstånd. Program som använder ForcePowerDown bör alltid registrera sig för dessa händelser och lyssna på dem för att säkerställa att appen inte orsakar att en uppdatering skjuts upp på obestämd tid.

Vi tillhandahåller ett exempelprogram som visar hur du skapar uppdateringskontroller korrekt i ett program som använder ForcePowerDown. Vi rekommenderar starkt att du börjar med det här exemplet när du utvecklar appar med ForcePowerDown.

Programavslut

När en Power Down-begäran har gjorts skickas en SIGTERM-signal till din app. Om din app hanterar signalen har den upp till 2 sekunder på sig att rensa. Annars avslutas appen omedelbart. Mer information, inklusive hur du hanterar signalen korrekt, finns i appens avslutning för uppdatering.

Programexempel

Power Down-exempelprogrammet visar hur du korrekt använder ForcePowerDown för att minska energiförbrukningen samtidigt som enheten regelbundet håller sig vaken för att söka efter os- och appuppdateringar.

Det här exemplet blinkar en röd LED som representerar arbete eller "affärslogik" som en app kan behöva göra när enheten är vaken och sedan stänger av enheten under en angiven tid. Varje Nth Power Down/wake-cykel håller appen enheten vaken längre för att söka efter uppdateringar i stället för att omedelbart stänga av efter att affärslogiken har slutförts (den blinkande röda lysdiod i det här fallet). För att säkerställa att uppdateringarna har slutförts innan du stänger av använder exempelappen tre systemhändelsemeddelanden (SysEvent_Events_NoUpdateAvailable, SysEvent_Events_UpdateStarted och SysEvent_Events_UpdateReadyForInstall) som informerar appen om status för uppdateringskontrollen/nedladdningen. Exempelappen visar också hur du mäter RDB:ns aktuella förbrukning för att verifiera att enheten går in i Power Down.