Dela via


Designförslag för kärnprogram i realtid

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

Realtidsprogram (RT) körs utan operativsystem eller med ett realtidsoperativsystem (RTOS) i realtidskärnorna. Många av designrekommendationerna för HL-core-program gäller även för design av RT-core-program. I det här avsnittet beskrivs ytterligare designförslag att tänka på när du utformar RT-core-program.

  • Använd en övervakningstimer: Vi rekommenderar att du aktiverar och implementerar timern för MT3620-vakthunden så att du kan identifiera dödläge och implementera korrekt återställningslogik. Mer information finns i Använda en övervakningstimer i en RTApp. Detta kan också vara en viktig punkt där RT-programmet kan signalera HL-core-programmet (till exempel via postlådan mellan kärnor) att något har gått fel så att lämpliga åtgärder kan vidtas av något av programmen, till exempel återställa enheten. Detta kan göras på följande sätt:
    • Starta om enheten genom att anropa PowerManagement_ForceSystemReboot funktionen från HL-core-programmet. Se Nivåer för omstart på en enhet.
    • Kringgå HL-kärn-API:er genom att utföra en maskinvaruåterställning via en dedikerad GPIO med MT3620-stiften för energisparfunktioner (PMU_EN, EXT_PMU_EN eller SYSRST_N). Mer information om PMU_EN och EXT_PMU_EN finns i Power Down-överväganden. Maskinvaruåterställning med SYSRST_N innebär vanligtvis att utforma enhetsscheman med upp till tre (en per kärna) dedikerade återställnings-GPI:er, anslutna via dioder och RC-filter till enhetens SYSRST_N pin-kod. Om du utför en maskinvaruåterställning kan du utföra oberoende åtgärder från något av HL-core- och RT-core-programmen om designen kräver deterministisk återställning från alla program som körs på valfri kärna.

Kommentar

Var mycket noga med att använda GPIOs för att återställa enheten från ett RT-core-program, eftersom en oavsiktlig effekt av programmering eller design av programmet (till exempel kontinuerlig återställning av enheten) kan hindra enheten från att ta emot operativsystem- och programuppdateringar.

  • Implementera kommunikation mellan kärnor i projekt som kombinerar HL-core- och RT-core-program: Även om det inte uttryckligen behövs rekommenderar vi alltid att du implementerar ett minimalt kommunikationsutbyte mellan HL-core- och RT-core-programmen. Mer information finns i Kommunicera med ett realtidskompatibelt program. Förutom uppenbart datautbyte när kommunikation mellan kärnor uttryckligen utformas som en del av den övergripande programarkitekturen är det användbart och viktigt att de två parterna synkroniseras med avseende på varandras status så att bättre övergripande enhetsstatus kan hanteras av varandra (se interkärnkommunikationsexemplet ).

Mer information om hur du utvecklar RT-core-program, inklusive drivrutiner och exempel för användning av kringutrustning och funktioner för MT3620 finns i: