Partilhar via


Sugestões de design de aplicações principais em tempo real

As aplicações principais em tempo real (RT) são executadas em bare-metal ou com um sistema operativo em tempo real (RTOS) nos núcleos em tempo real. Muitas das recomendações de conceção para aplicações HL-core também se aplicam à conceção de aplicações RT-core. Este tópico aborda outras sugestões de design a considerar ao conceber aplicações rt-core.

  • Utilizar um temporizador de cão de guarda: Recomendamos que ative e implemente o temporizador mt3620 watchdog para que possa detetar o impasse e implementar a lógica de recuperação adequada. Para obter detalhes, consulte Utilizar um temporizador de cão de guarda numa RTApp. Este também pode ser um ponto importante em que a aplicação RT pode sinalizar a aplicação HL-core (por exemplo, através da caixa de correio entre núcleos) de que algo correu mal para que qualquer ação adequada possa ser tomada por qualquer uma das aplicações, como a reposição do dispositivo. Isto pode ser feito das seguintes formas:
    • Reinicie o dispositivo ao chamar a PowerManagement_ForceSystemReboot função a partir da aplicação HL-core. Veja Níveis de reinício num dispositivo.
    • Ignorar as APIs de núcleo HL ao efetuar uma reposição de hardware através de um GPIO dedicado com os pinos de gestão de energia do MT3620 (PMU_EN, EXT_PMU_EN ou SYSRST_N). Para obter mais informações sobre PMU_EN e EXT_PMU_EN, veja Considerações sobre o Power Down. Normalmente, a reposição de hardware com SYSRST_N envolve estruturar os esquemas do dispositivo com até três GPIOs de reposição dedicada (um por cada núcleo), ligados através de díodos e filtros de RC ao pin SYSRST_N do dispositivo. A execução de uma reposição de hardware permite uma ação independente de qualquer uma das aplicações HL-core e RT-core se a estrutura exigir uma recuperação determinista de qualquer aplicação em execução em qualquer núcleo.

Nota

Considere cuidadosamente a utilização de GPIOs para repor o dispositivo a partir de uma aplicação RT-core, uma vez que um efeito inesperado da programação ou da conceção dessa aplicação (por exemplo, repor continuamente o dispositivo) pode impedir que o dispositivo receba atualizações do sistema operativo e da aplicação.

  • Implemente comunicações entre núcleos em projetos que combinam aplicações HL-core e RT-core: Mesmo que não seja explicitamente necessário, recomenda-se sempre que implemente uma troca de comunicação mínima entre as aplicações HL-core e RT-core. Para obter mais informações, veja Comunicar com uma aplicação com capacidade em tempo real. Além da troca de dados óbvia quando a comunicação entre núcleos é explicitamente concebida como parte da arquitetura geral da aplicação, é útil e importante que as duas partes sejam sincronizadas em relação ao estado uma da outra para que um melhor estado geral do dispositivo possa ser gerido entre si (veja o exemplo de comunicação Inter-core ).

Para obter informações de referência adicionais sobre o desenvolvimento de aplicações RT-core, incluindo controladores e amostras para utilizar periféricos e funcionalidades MT3620, consulte: