Visão geral do sistema operacional AUTOSAR

Atualmente, os controladores eletrônicos automotivos seguem basicamente a especificação AUTOSAR, e o sistema operacional, como destaque do BSW, sempre foi
No final, os alunos que estudam AUTOSAR ficam assustados e desencorajados. Então, hoje Demu resolve o problema baseado em AUTOSAR
O conhecimento do sistema operacional padrão é conveniente para todos aprenderem como referência.
1 Por que você precisa de um sistema operacional?
Não há dúvida de que os sistemas embarcados são complicados agora, mas por que precisamos de um sistema operacional? Você já pensou sobre isso com cuidado.
Na verdade, nos primeiros sistemas embarcados, não havia o conceito de sistema operacional. Acredito que os alunos que fazem desenvolvimento integrado podem entender,
Na função main(), escreva um loop while, adicione um timer e execute o código regularmente de acordo com o método time slice.
Agendamento simples pode ser feito.
No entanto, agora é diferente, o sistema está se tornando cada vez mais complexo e o agendamento simples e grosseiro do passado não atende mais aos requisitos. explicar
As principais razões para a complexidade do sistema são as seguintes:
o Diversificação de tarefas;
o Complicação do ciclo ;
o Aninhamento hierárquico de chamadas;
oIntrodução do sistema multi-core;
por exemplo. Por exemplo, temos um sistema de três núcleos, no qual core0 é responsável pela função ASW do aplicativo e core1 é responsável pela função básica
BSW, core2 é responsável pelo monitoramento do sistema, segurança funcional e diagnósticos etc. Como satisfazer a chamada de sua tarefa normal enquanto a função está em execução
Ao mesmo tempo, as instruções do código do sistema e o monitoramento também são sincronizados? Na função main(), adicionamos um timer por meio de uma instrução de loop e, em seguida,
Experimente, estima-se que será "difícil ir para o céu azul".
Portanto, algo chamado sistema operacional precisa aparecer. Ele gerencia o agendamento de tarefas e eventos, os dados entre diferentes tarefas
Fluxo de dados e fornecer funções de monitoramento e tratamento de erros. O sistema operacional fornece todos os serviços básicos para aplicações de tempo real, incluindo tratamento de interrupção,
Agendamento, tempo do sistema e sincronização do relógio, manipulação de mensagens locais e mecanismos de detecção de erros.
2 Recursos do sistema operacional AUTOSAR
Os sistemas operacionais podem ser divididos em diferentes grupos de acordo com suas características, como configuração estática e gerenciamento dinâmico. estar certo
O sistema operacional AUTOSAR (doravante referido como AUTOSAR OS) é classificado e os seguintes são seus recursos básicos:
oConfiguração estática
o Inferir o desempenho em tempo real do sistema
oForneça uma política de agendamento baseada em prioridade
oFornecer funções de proteção em tempo de execução (memória, temporização, etc.)
oSem recursos externos necessários, pode ser incorporado em controladores de baixo custo
Portanto, a diferença entre o sistema operacional Autosar e o sistema operacional comum (como o sistema operacional Linux) é a seguinte:
o não cria novas tarefas dinamicamente em tempo de execução;
o é uma variante de configuração pré-compilada, todas as tarefas devem ser definidas antes da compilação;
o O sistema operacional não possui gerenciamento dinâmico de memória e nenhum shell para controle manual de tarefas.
Antes da proposta do AUTOSAR OS, seu sistema operacional no campo da eletrônica automotiva passou por dois estágios, ou seja, não-OSEK
SO e OSEK OS.
Claro, o terceiro estágio agora, Autosar OS, é um sistema operacional compatível com OSEK, mas com várias extensões
desempenho. Recursos extensíveis, como agendadores, aplicativos de sistema operacional, proteção de memória e proteção de tempo. Menção especial OSEK OS
Os seguintes recursos são fornecidos para dar suporte ao AUTOSAR:
Agendamento baseado em prioridade
 Funções que lidam com interrupções
 As interrupções têm maior prioridade do que as tarefas
 Salvaguardas contra o uso indevido dos serviços do sistema operacional
Interface de inicialização StartOS e StartupHook
Interface de desligamento ShutdownOS e ShutdownHook
O nível de escalabilidade do sistema operacional específico é dividido em quatro níveis:

 

3 Objetos do sistema operacional AUTOSAR
O Autosar OS fornece uma estratégia de agendamento baseada em prioridades, com atributos preemptivos e um mecanismo de sincronização, por meio de eventos e recursos
propriedades a alcançar. O AutosarOS fornece os seguintes objetos para gerenciamento de execução multitarefa, como Alarmes, Aplicativos,
Modos de aplicação,Contadores,Eventos,ISRs,Conjuntos de registros,Recursos,Tabelas de agendamento,
Spinlocks, Tarefas. Esses objetos e suas configurações são o conteúdo principal do AUTOSAR OS e os explicaremos em detalhes posteriormente.
Explicação, aqui está uma breve introdução. Alarmes : A sirene, como o sino da nossa escola, tocará quando chegar a hora. O sistema operacional o usa para fazer algumas coisas programadas,
Por exemplo, ative uma tarefa Tarefa.
Aplicações : Literalmente, é uma aplicação, para ser mais preciso, deveria ser uma partição. ele implanta para
Em um determinado Núcleo, a principal função é gerenciar os objetos nele colocados. Por que você quer essa coisa? Dê um impróprio
exemplo. A MCU é como um país e seu núcleo é sua província, portanto, os aplicativos podem ser entendidos como um nível de prefeitura sob a jurisdição da província
cidade. Por exemplo, um dia um grande número de pessoas infectadas com o novo coronavírus foi encontrado em uma cidade de nível municipal. Para evitar a propagação, a cidade foi fechada.
Razoável, de modo a não expandir para outras áreas urbanas. Pense bem, quando ocorrer uma epidemia nesta cidade, toda a província deve ser fechada ou apenas o
Que tal fechar a cidade? Obviamente o último. A divisão no chip também é bem razoável. As partições no AUTOSAR OS são divididas em confiáveis
e não confiável.
Modos de aplicação : Raramente é usado, então não vou apresentá-lo aqui;
Contadores : É mais apropriado comparar o Contador com o coração, para o chip, é o oscilador de cristal. No sistema operacional ele faz
É usado para cronometragem ou contagem. Geralmente, o contador é combinado com o temporizador do chip. A precisão do contador determina a operação
A precisão com que o sistema pode manter o tempo.
Eventos: eventos. Em sistemas operacionais embarcados, os eventos geralmente são vinculados a tarefas para implementar funções de agendamento.
Também pode ser acionado por Alarmes . Por exemplo, se eu definir uma tarefa para ser executada em um processo de 10ms, a tarefa de 10ms será a mesma que
O evento vem junto.
ISRs: rotina de serviço de interrupção, que é a interrupção de que estamos falando. O conceito de interrupção é para estudantes de desenvolvimento embarcado
deveria ser mais familiar. Existem dois tipos de interrupções no AUTOSAR OS. No Autosar OS, as interrupções são divididas em Cat1
E Cat2, a chamada interrupção do tipo 1 e interrupção do tipo 2, a chamada interrupção do tipo 2 é na verdade uma interrupção completamente controlada pelo sistema operacional,
A comutação de contexto e o gerenciamento de pilha desse tipo de interrupção são todos gerenciados pelo sistema operacional; enquanto a interrupção do tipo 1 não é assumida pelo sistema operacional, portanto,
O contexto é gerenciado por si só. Além disso, o Autosar Os requer que a prioridade mais baixa das interrupções Cat1 seja maior do que a prioridade mais alta de Cat2.
Prioridade, ou seja, a prioridade de interrupção de Cat1 é maior. Portanto, as interrupções Cat1 são geralmente usadas em ocasiões em que os requisitos de tempo são mais urgentes.
combinar. Esteja ciente de que as interrupções têm uma prioridade mais alta do que qualquer tarefa, ou seja, as interrupções podem antecipar tarefas.
Conjuntos de registradores: pouco usados, não introduzidos temporariamente.
Recursos: recursos. Os recursos dentro do sistema embarcado são usados ​​para forçar a execução da tarefa em grupos. Dentro do grupo não há
Existe um ditado de preempção, ou seja, recursos compartilhados. Claro, as interrupções não podem usar recursos de pacotes internos. Quais recursos são compartilhados? Comparar
Por exemplo, o compartilhamento de pilhas, para reduzir a carga no sistema, podemos permitir que tarefas do mesmo grupo compartilhem os recursos de pilha alocados.
Use, como uma sociedade harmoniosa.
Tabelas de agendamento: tabela de agendamento, que pode ser entendida como uma tabela contendo muitos pontos de agendamento, que geralmente ocorre no Autosar Os
Usando um agendador, por exemplo, se houver tarefas que precisam ser agendadas em três períodos de 1ms, 2ms e 5ms, então um
Uma tabela que agenda tarefas de 1ms em 1ms, agenda tarefas de 1ms e 2ms em 2ms e agenda tarefas de 1ms e 2ms em 4ms
Tarefa de 2 ms, agende tarefas de 1 ms e 5 ms em 5 ms, agende tarefas de 1 ms, 2 ms, 5 ms em 10 ms e, em seguida, siga este
Tal ciclo relacional é chamado de tabela de despacho. No momento, alguns desenvolvedores convencionais do Autosar usam esse método
Agendamento de tarefas. Indiferentemente, Schedule Table tem sua própria máquina de estado, o maior benefício do agendamento Schedule Table
É para manter a sincronização do agendamento.
Spinlocks: Sem uso de projeto, ainda não introduzido.
Tarefas: Tarefas também devem ser familiares. Autosar Os tem algumas propriedades próprias. Deixe-me apresentá-las brevemente. Tipo de tarefa:
o Tarefa Básica: Contém os estados Pronto, Em Execução, Suspenso o Estender Tarefa: Contém os estados Pronto, Em Execução, Suspenso e Aguardando
A chamada tarefa estendida é um estado de espera adicional, portanto, geralmente aguarda a chegada de um evento.
Além disso, o agendamento de tarefas é dividido em preemptivo e cooperativo.Para tarefas que podem sofrer preempção, o sistema operacional agendará tarefas com base na prioridade da tarefa.
Classificar o agendamento de alta prioridade pode antecipar a baixa prioridade. No AUTOSAT OS, quanto maior o número, maior a prioridade.
Obviamente, o sistema operacional também possui proteção de memória, proteção de tempo e mecanismos de erro.

 

 

 

 

Acho que você gosta

Origin blog.csdn.net/NMR0574/article/details/130025685
Recomendado
Clasificación