Sistemas Embarcados - Ferramentas e Periféricos
Compiladores e montadores
Compilador
Um compilador é um programa de computador (ou um conjunto de programas) que transforma o código-fonte escrito em uma linguagem de programação (a linguagem fonte) em outra linguagem de computador (normalmente formato binário). O motivo mais comum de conversão é a criação de um programa executável. O nome "compilador" é usado principalmente para programas que traduzem o código-fonte de uma linguagem de programação de alto nível para uma linguagem de baixo nível (por exemplo, linguagem assembly ou código de máquina).
Cross-Compiler
Se o programa compilado puder ser executado em um computador com CPU ou sistema operacional diferente do computador no qual o compilador compilou o programa, esse compilador é conhecido como compilador cruzado.
Descompilador
Um programa que pode traduzir um programa de uma linguagem de baixo nível para uma de alto nível é chamado de descompilador.
Conversor de linguagem
Um programa que traduz programas escritos em diferentes idiomas de alto nível é normalmente chamado de tradutor de idioma, tradutor de fonte para fonte ou conversor de idioma.
É provável que um compilador execute as seguintes operações -
- Preprocessing
- Parsing
- Análise Semântica (tradução direcionada pela sintaxe)
- Geração de código
- Otimização de código
Montadores
Um montador é um programa que pega instruções básicas do computador (chamadas de linguagem assembly) e as converte em um padrão de bits que o processador do computador pode usar para realizar suas operações básicas. Um montador cria código-objeto traduzindo mnemônicos de instrução de montagem em opcodes, resolvendo nomes simbólicos em locais de memória. A linguagem assembly usa um mnemônico para representar cada operação da máquina de baixo nível (opcode).
Ferramentas de depuração em um sistema integrado
A depuração é um processo metódico para localizar e reduzir o número de bugs em um programa de computador ou peça de hardware eletrônico, para que funcione conforme o esperado. A depuração é difícil quando os subsistemas estão fortemente acoplados, porque uma pequena mudança em um subsistema pode criar bugs em outro. As ferramentas de depuração usadas em sistemas embarcados diferem muito em termos de tempo de desenvolvimento e recursos de depuração. Discutiremos aqui as seguintes ferramentas de depuração -
- Simulators
- Kits iniciais de microcontrolador
- Emulator
Simuladores
O código é testado para o MCU / sistema simulando-o no computador host usado para o desenvolvimento do código. Simuladores tentam modelar o comportamento do microcontrolador completo em software.
Funções de Simuladores
Um simulador executa as seguintes funções -
Define o processador ou família de dispositivos de processamento, bem como suas várias versões para o sistema de destino.
Monitora as informações detalhadas de uma parte do código-fonte com rótulos e argumentos simbólicos conforme a execução continua para cada etapa.
Fornece o status de RAM e portas simuladas do sistema de destino para cada execução de etapa única.
Monitora a resposta do sistema e determina o rendimento.
Fornece rastreamento da saída de conteúdo do contador do programa em relação aos registros do processador.
Fornece o significado detalhado do comando atual.
Monitora as informações detalhadas dos comandos do simulador à medida que são inseridos no teclado ou selecionados no menu.
Suporta as condições (até 8 ou 16 ou 32 condições) e pontos de interrupção incondicionais.
Fornece pontos de interrupção e o rastreamento que são, juntos, a importante ferramenta de teste e depuração.
Facilita a sincronização dos periféricos internos e atrasos.
Kit inicial de microcontrolador
Um kit inicial de microcontrolador consiste em -
- Placa de hardware (placa de avaliação)
- Programador no sistema
- Algumas ferramentas de software como compilador, assembler, linker, etc.
- Às vezes, um IDE e uma versão de avaliação limitada do tamanho do código de um compilador.
Uma grande vantagem desses kits em relação aos simuladores é que eles funcionam em tempo real e, portanto, permitem uma fácil verificação da funcionalidade de entrada / saída. Starter kits, entretanto, são completamente suficientes e a opção mais barata para desenvolver projetos simples de microcontroladores.
Emuladores
Um emulador é um kit de hardware ou um programa de software ou pode ser ambos que emula as funções de um sistema de computador (o convidado) em outro sistema de computador (o host), diferente do primeiro, de modo que o comportamento emulado se assemelha bastante ao comportamento do sistema real (o convidado).
Emulação refere-se à capacidade de um programa de computador em um dispositivo eletrônico de emular (imitar) outro programa ou dispositivo. A emulação se concentra em recriar um ambiente de computador original. Os emuladores têm a capacidade de manter uma conexão mais estreita com a autenticidade do objeto digital. Um emulador ajuda o usuário a trabalhar em qualquer tipo de aplicativo ou sistema operacional em uma plataforma de maneira semelhante à execução do software em seu ambiente original.
Dispositivos Periféricos em Sistemas Embarcados
Os sistemas incorporados comunicam-se com o mundo exterior através dos seus periféricos, como os seguintes & mins;
- Interfaces de comunicação serial (SCI) como RS-232, RS-422, RS-485, etc.
- Interface de comunicação serial síncrona como I2C, SPI, SSC e ESSI
- Universal Serial Bus (USB)
- Cartões multimídia (cartões SD, Compact Flash, etc.)
- Redes como Ethernet, LonWorks, etc.
- Fieldbuses como CAN-Bus, LIN-Bus, PROFIBUS, etc.
- imers como PLL (s), Capture / Compare e Time Processing Units.
- IO discreto, também conhecido como entrada / saída de propósito geral (GPIO)
- Analógico para Digital / Digital para Analógico (ADC / DAC)
- Depuração como JTAG, ISP, ICSP, porta BDM, BITP e portas DP9
Critérios para escolher o microcontrolador
Ao escolher um microcontrolador, certifique-se de que ele atenda à tarefa em questão e seja econômico. Devemos ver se um microcontrolador de 8, 16 ou 32 bits pode lidar melhor com as necessidades de computação de uma tarefa. Além disso, os seguintes pontos devem ser mantidos em mente ao escolher um microcontrolador -
Speed - Qual é a velocidade mais alta que o microcontrolador pode suportar?
Packaging- É DIP de 40 pinos (pacote Dual-inline) ou QFP (pacote plano Quad)? Isso é importante em termos de espaço, montagem e prototipagem do produto final.
Power Consumption - Este é um critério importante para produtos alimentados por bateria.
Amount of RAM and ROM no chip.
Count of I/O pins and Timers no chip.
Cost per Unit - Isso é importante em termos de custo final do produto no qual o microcontrolador será utilizado.
Além disso, certifique-se de ter ferramentas como compiladores, depuradores e montadores, disponíveis com o microcontrolador. O mais importante de tudo, você deve comprar um microcontrolador de uma fonte confiável.