Usar GPTs em aplicativos com capacidade em tempo real
O Azure Sphere dá suporte ao uso de GPTs (temporizadores de uso geral) em aplicativos com capacidade em tempo real.
Cada núcleo em tempo real no MT3620 dá suporte a cinco GPTs. Os temporizadores GPT0, GPT1 e GPT3 são baseados em interrupção. Esses temporizadores contam para baixo de um valor inicial e afirmam uma interrupção quando a contagem atinge 0. Os temporizadores GPT2 e GPT4 são temporizadores de execução livre. Esses temporizadores contam com base em um valor inicial.
Dois modos são definidos para temporizadores baseados em interrupção:
- Modo de tiro único: os tempos param quando ele conta para 0.
- Modo de repetição automática: o temporizador é reiniciado depois que ele conta para 0.
Os registros de controle GPT para cada núcleo em tempo real são mapeados para endereços 0x2103_0000 por meio de 0x2103_FFFF na memória privada do núcleo.
Para obter mais informações sobre como usar os GPTs principais em tempo real em aplicativos, consulte Manual de Referência de API do Azure Sphere MT3620 M4.
Nota
O sistema operacional do Azure Sphere não redefine periféricos na inicialização. Seus aplicativos devem garantir que os periféricos estejam em um estado conhecido na inicialização ou após a reinicialização.
Os aplicativos de exemplo GPT
Os seguintes aplicativos de exemplo demonstram como usar GPTs em núcleos MT3620 em tempo real:
- O exemplo GPT_RTApp_MT3620_BareMetal usa GPT1 e GPT3.
- O exemplo MT3620_RTApp_FreeRTOS_GPT usa GPT0 e GPT3.