Embarcados Eventos do Sistema

Eventos do sistema embarcado há momentos em que um pedaço de hardware acessa diretamente a unidade central de processamento em um sistema de computador. Quando ocorre um acontecimento , o equipamento emite um sinal para o processador e parar qualquer processo no decurso do qual se ocupa. Eventos não planejados , conhecidos como exceções, são coisas como desligamentos repentinos de dados ou erros de aplicação. Que está acontecendo, também conhecido como interrupções , são causados deliberadamente por um usuário . Cliques do mouse e da introdução de novos dispositivos são considerados interrupções.

Hardware manipulação de interrupção

A Máquina RISC Avançada ( ARM ) chip do processador tem um pino específico para aceitar interrupções. RISC significa reduzida Instruction Set Computer , indicando que o chip contenha um número limitado de instruções para a gestão das actividades específicas. Quando uma fonte de interrupção em um pedaço de hardware detecta uma interrupção , ele envia um sinal elétrico para a solicitação (IRQ) pino de interrupção . O pino IRQ torna-se ALTA quando recebe um sinal de interrupção , notificando o processador para concluir sua declaração atual, pausar o processo atual e analisar a interrupção. Quando o alarme tenha sido tratado , o processador retoma o seu processo anterior.

Interromper Reconheça Ciclo 

Quando uma peça de hardware sinaliza uma interrupção, o processador começa o ciclo de autorização de interrupção. O ciclo é uma conversa entre o processador e hardware para retransmitir a razão para a interrupção e localizar a solução desejada. O processador envia um sinal para interrupções de hardware pedindo raciocínio. O hardware devolve um número vector que o processador utiliza para localizar a portadora correcta . Dentro do vector é a rotina de serviço de interrupção (ISR ) que irá processar a interrupção , se necessário. Por exemplo, pressionar o P pontos-chave para uma ISR rotina para a letra P em um aplicativo.

Tipos de manipuladores de interrupção

Os quatro principais tipos de manipuladores de interrupção são não -nested , aninhado, aninhada reentrante e prioridades. Um manipulador de interrupção não -nested irá processar apenas uma interrupção em um tempo e ignorar os sinais de alerta acusações. Manipuladores de interrupção aninhadas para uma interrupção ocorrer durante uma interrupção está sendo processada. A interrupção de corrente é preso como empregos anteriores ea nova interrupção é tratada antes. Gestores de interrupção de prioridade só irá parar uma interrupção se o novo processo de interrupção tem uma classificação igual ou maior prioridade. Manipuladores de interrupção de reentrada funcionam de forma semelhante aos manipuladores aninhados , mas reativar o gerenciamento de interrupções mais rápido depois de uma interrupção tenha ocorrido antes. Isto reduz o tempo de atraso entre as interrupções , mas pode causar vários outros erros .