O que é programação de sistema incorporado e suas linguagens

Experimente Nosso Instrumento Para Eliminar Problemas





Um sistema é um arranjo de várias unidades, montadas juntas para funcionar de acordo com as instruções fornecidas. Um sistema embarcado é uma combinação de hardware e software, que executa uma tarefa específica dentro do período especificado (o que significa que deve executar apenas uma tarefa específica, como uma máquina de lavar). A principal vantagem de usar um sistema embarcado em um aplicativo é que ele pode minimizar o tamanho e o custo e também melhorar a confiabilidade e eficiência da tarefa. Este artigo apresenta uma visão geral sobre linguagens de software embarcado, sistema embarcado programação , e suas funções.

Componentes de sistemas embarcados

A seguir estão os componentes dos sistemas embarcados




  • Hardware embutido: O microcontrolador é o coração do sistema embarcado, onde vários periféricos são conectados ao hardware embarcado para fins de comunicação.
  • RTOs incorporados: Um sistema operacional embutido em tempo real é usado para realizar todas as operações complexas (ar).
  • Drivers de dispositivo: Ele atua como uma ponte entre os sistemas operacionais e os dispositivos periféricos.
  • Pilhas de comunicação: É usado para comunicação com dispositivos externos.
  • Aplicativos incorporados: Ele executa a função predefinida do dispositivo embutido.
Componentes de sistema incorporados

Componentes de sistema incorporados

Software embutido

Um software embutido ou programação de sistema embutido é um software de computador, que é usado para controlar dispositivos fornecendo um conjunto de instruções. Também é denominado como firmware, vários dispositivos com várias funcionalidades podem ser programados usando software incorporado, mantendo as restrições de design (como restrições de tempo de resposta, prazos rígidos e dados processados) e armazenando os dados finais em memória (Ram / Rom).



O software é controlado ou iniciado por uma interface de máquina. O software embutido está embutido em todos os eletrônicos, como carros, telefones, robôs, Sistemas de segurança , etc., que é simples de executar em um 8 bits microcontrolador usando memória até alguns KB. Ajuda no processamento de operações complexas e determina a estrutura de computação precisa.

Linguagens de programação de sistema incorporado

O software incorporado usa um sistema operacional, que é um sistema operacional em tempo real que executa várias tarefas ao mesmo tempo. Os programas embutidos são programados usando em C / C ++ , Phyton e linguagens de scripts Java e são processados ​​em sistemas operacionais como Linux OS , VxWorks , Fusion RTOS, Nucleus RTOS, micro C / OS, OSE, etc. A seleção da linguagem de programação desempenha um papel vital no desenvolvimento de software embarcado, que é baseado em certos fatores, conforme mostrado abaixo,

  • Tamanho : A quantidade de memória exigida por um programa desempenha um papel importante, pois os processadores embutidos (microcontroladores) possuem uma quantidade específica de ROM (Read Only Memory) com base em sua aplicação.
  • Velocidade : A velocidade de execução do programa deve ser rápida
  • Portabilidade: Processadores diferentes podem ser compilados usando um programa.
  • A implementação é difícil
  • A manutenção é difícil.

Programação de um Sistema Embarcado em Linguagem Assembly

Programação de um sistema embarcado em linguagem assembly (entrada) e convertendo no linguagem de nível de máquina (saída) usando um montador pode ser explicada usando o exemplo a seguir, onde realizamos a adição de dois numéricos usando dois registradores esperados e armazenamos o resultado em um registrador de saída.


Entrada

AQUI: MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

ADICIONE A, R1

MOV P0, A

SIMP AQUI

Resultado

Endereço Opcode Operand

0000 78 01
0002 79 02
0004 E8 -
0005 29 -
0006 F5 80
0008 80 00

O código assembly é usado para desenvolver código eficiente em termos de tamanho e velocidade. Desenvolver código maior em linguagem assembly torna-se difícil, o que pode levar a um custo de desenvolvimento de software mais alto e a portabilidade do código está ausente. Portanto, para superar essa desvantagem, usamos uma linguagem de alto nível, como C incorporado .

Sobre C, C ++, Java e Embedded C

Programação C

A linguagem C é uma linguagem orientada a estruturas, desenvolvida por Dennis Ritchie. Ele fornece menos acesso à memória usando o compilador simples e entrega os dados de forma eficiente de acordo com as instruções da máquina. Eles são aplicáveis ​​em uma ampla gama de sistemas embarcados a supercomputadores.

C incorporado

Embedded C é uma extensão da linguagem C, que é usada para desenvolver um sistema embarcado. A sintaxe é semelhante à linguagem C (como a função principal, declaração de funções, declaração de tipos de dados, loops, etc). A principal diferença entre a linguagem C incorporada e a linguagem C padrão é o endereçamento de entrada-saída de hardware, operações de ponto fixo e processamento de espaços de endereço.

O uso de C no sistema embarcado devido às seguintes vantagens

  • É pequeno e fácil de aprender, entender e depurar o programa.
  • Todos os compiladores C são compatíveis com todos os dispositivos incorporados
  • É um processador independente (ou seja, não é específico para um microprocessador ou microcontrolador em particular).
  • A linguagem C usa a combinação de linguagem assembly e recursos da linguagem de alto nível
  • É bastante eficiente, mais confiável, mais flexível e mais portátil entre diferentes plataformas.
  • Os programas desenvolvidos em C são mais fáceis de entender, depurar e manter.

Compare com outra linguagem de alto nível C oferece mais flexibilidade porque é uma linguagem orientada para estruturas relativamente pequena e suporta bit a bit de baixo nível manipulações de dados .

C ++

Linguagem orientada a objetos como C ++ não é opcional para desenvolver um programa eficiente em ambientes de restrição de pesquisa, como dispositivos embarcados. Funções virtuais e tratamento de exceções do C ++ são alguns recursos específicos que não são eficientes em termos de espaço e velocidade do sistema.

JAVA

Um sistema embarcado pode ser programado na linguagem JAVA, usando a máquina virtual JAVA (JVM) que acessa muitos recursos. Ele encontra uso principalmente em aplicativos de última geração (como telefones celulares) e oferece portabilidade entre sistemas para processar os aplicativos. Não é preferível para dispositivos embarcados menores.

Arquitetura e exemplo de programação C incorporada

A arquitetura de programação C incorporada pode ser entendida com um exemplo de uso Microcontroladores 8051 , onde sua função é piscar a lâmpada LED que está conectada a PORT1 do controlador e o compilador utilizado é Keil C Compiler. A seguir está o código para o LIDERADO piscar.

#include // diretiva do pré-processador
Void delay (int) // declaração da função de atraso
Void main (void) // Função principal
{
P1 = 0x00 // porta1 está desligado, então o LED está desligado e armazenado em reg51.h
while (1) // loop de infinito
{
P1 = OxFF //// porta1 está ligado, então o LED está ligado
delay (1000) // Atribuir atraso
P1 = 0X00 // porta1 desligada
atraso (1000)
}
}
Void delay (int d) // atribuindo função de atraso
{
unsigned int i = 0 // variáveis ​​atribuídas localmente
para (d> 0 d-)
{
para (i = 250 i> 0i–)
para (i = 248 i> 0i–)
}
}

Vantagens

A seguir estão as vantagens do software integrado

  • O carregamento de dados é mais rápido
  • O custo é baixo
  • Utiliza menos recursos.

Desvantagens

A seguir estão as desvantagens do software incorporado

  • Atualizar é complexo
  • Cada vez que a redefinição é necessária, se ocorrer algum problema
  • A escalabilidade para valores pequenos é difícil.

Formulários

A seguir estão os aplicativos de software integrado

  • Bancário
  • Automóveis
  • Eletrodomésticos
  • Carro
  • Mísseis, etc.

FAQ's

1). O que é um software integrado?

Um software embutido ou programação de sistema embutido é um software de computador, que é usado para controlar dispositivos fornecendo instruções.

2). Quais são os programas usados ​​no software de sistema embutido?

Os programas de software de sistema embarcado são programados em C ou C ++, Phyton e Java Scripts.

3). Qual é a diferença entre sistemas embarcados e o sistema normal?

Um sistema embarcado é uma combinação de hardware e software onde é projetado para um propósito específico. Os processos são processados ​​sequencialmente. Considerando que um processador normal é um sistema operacional em tempo real do RTO, ele é necessário quando há necessidade de execução paralela.

4). Quais são os diferentes tipos de sistemas embarcados?

Os sistemas embarcados são classificados em duas categorias

  • Com base nos requisitos de desempenho e funcionais, eles são ainda classificados como Tempo real, autônomo, em rede, móvel.
  • Com base no desempenho do microcontrolador, eles são classificados em pequena escala, escala média e escala sofisticada

5). Principais aplicações de sistema embarcado

As principais aplicações de um sistema embarcado são

  • Máquina de lavar
  • Câmeras digitais
  • Player de música, etc.

Um sistema embarcado é uma combinação de hardware e software. Onde o programas de software embutidos são programados em C ou C ++, Phyton e Java Scripts. Eles são executados no sistema operacional Linux, micro C / OS, QNX, etc. A linguagem C forma a linguagem básica para escrever códigos de software embarcados. Portanto, esta é uma visão geral de um Software Embarcado e sua arquitetura explicada usando um programa.