Sistemas integrados: herramientas y periféricos

Compiladores y ensambladores

Compilador

Un compilador es un programa de computadora (o un conjunto de programas) que transforma el código fuente escrito en un lenguaje de programación (el lenguaje fuente) en otro lenguaje de computadora (normalmente formato binario). La razón más común para la conversión es crear un programa ejecutable. El nombre "compilador" se usa principalmente para programas que traducen el código fuente de un lenguaje de programación de alto nivel a un lenguaje de bajo nivel (por ejemplo, lenguaje ensamblador o código de máquina).

Compilador cruzado

Si el programa compilado se puede ejecutar en una computadora que tenga una CPU o un sistema operativo diferente al de la computadora en la que el compilador compiló el programa, entonces ese compilador se conoce como compilador cruzado.

Descompilador

Un programa que puede traducir un programa de un lenguaje de bajo nivel a un lenguaje de alto nivel se llama descompilador.

Convertidor de idiomas

Un programa que traduce programas escritos en diferentes idiomas de alto nivel normalmente se denomina traductor de idioma, traductor de fuente a fuente o conversor de idioma.

Es probable que un compilador realice las siguientes operaciones:

  • Preprocessing
  • Parsing
  • Análisis semántico (traducción dirigida por sintaxis)
  • Codigo de GENERACION
  • Optimización de código

Ensambladores

Un ensamblador es un programa que toma instrucciones básicas de la computadora (llamadas lenguaje ensamblador) y las convierte en un patrón de bits que el procesador de la computadora puede usar para realizar sus operaciones básicas. Un ensamblador crea un código objeto traduciendo los mnemónicos de las instrucciones del ensamblador en códigos de operación, resolviendo los nombres simbólicos en ubicaciones de memoria. El lenguaje ensamblador usa un mnemónico para representar cada operación de máquina de bajo nivel (código de operación).

Herramientas de depuración en un sistema integrado

La depuración es un proceso metódico para encontrar y reducir la cantidad de errores en un programa de computadora o una pieza de hardware electrónico, de modo que funcione como se espera. La depuración es difícil cuando los subsistemas están estrechamente acoplados, porque un pequeño cambio en un subsistema puede crear errores en otro. Las herramientas de depuración utilizadas en los sistemas embebidos difieren enormemente en términos de su tiempo de desarrollo y características de depuración. Discutiremos aquí las siguientes herramientas de depuración:

  • Simulators
  • Kits de inicio de microcontroladores
  • Emulator

Simuladores

El código se prueba para el sistema / MCU simulándolo en la computadora host utilizada para el desarrollo del código. Los simuladores intentan modelar el comportamiento del microcontrolador completo en software.

Funciones de los simuladores

Un simulador realiza las siguientes funciones:

  • Define el procesador o la familia de dispositivos de procesamiento, así como sus diversas versiones para el sistema de destino.

  • Supervisa la información detallada de una parte del código fuente con etiquetas y argumentos simbólicos a medida que avanza la ejecución para cada paso.

  • Proporciona el estado de la RAM y los puertos simulados del sistema de destino para cada ejecución de un solo paso.

  • Supervisa la respuesta del sistema y determina el rendimiento.

  • Proporciona un seguimiento de la salida del contenido del contador del programa frente a los registros del procesador.

  • Proporciona el significado detallado del comando actual.

  • Supervisa la información detallada de los comandos del simulador a medida que se ingresan desde el teclado o se seleccionan en el menú.

  • Admite las condiciones (hasta 8 o 16 o 32 condiciones) y puntos de interrupción incondicionales.

  • Proporciona puntos de interrupción y el seguimiento que son, en conjunto, la importante herramienta de prueba y depuración.

  • Facilita la sincronización de los periféricos internos y los retrasos.

Kit de inicio de microcontrolador

Un kit de inicio de microcontrolador consta de:

  • Placa de hardware (placa de evaluación)
  • Programador en el sistema
  • Algunas herramientas de software como compilador, ensamblador, enlazador, etc.
  • A veces, un IDE y una versión de evaluación limitada del tamaño del código de un compilador.

Una gran ventaja de estos kits sobre los simuladores es que funcionan en tiempo real y, por lo tanto, permiten una fácil verificación de la funcionalidad de entrada / salida. Los kits de inicio, sin embargo, son completamente suficientes y la opción más barata para desarrollar proyectos simples de microcontroladores.

Emuladores

Un emulador es un kit de hardware o un programa de software o pueden ser ambos que emulan las funciones de un sistema informático (el invitado) en otro sistema informático (el host), diferente del primero, de modo que el comportamiento emulado se asemeja mucho al comportamiento del sistema real (el invitado).

La emulación se refiere a la capacidad de un programa de computadora en un dispositivo electrónico para emular (imitar) otro programa o dispositivo. La emulación se centra en recrear un entorno informático original. Los emuladores tienen la capacidad de mantener una conexión más cercana con la autenticidad del objeto digital. Un emulador ayuda al usuario a trabajar en cualquier tipo de aplicación o sistema operativo en una plataforma de forma similar a como se ejecuta el software en su entorno original.

Dispositivos periféricos en sistemas integrados

Los sistemas integrados se comunican con el mundo exterior a través de sus periféricos, como seguir & mins;

  • Interfaces de comunicación en serie (SCI) como RS-232, RS-422, RS-485, etc.
  • Interfaz de comunicación serial síncrona como I2C, SPI, SSC y ESSI
  • Bus serie universal (USB)
  • Tarjetas multimedia (tarjetas SD, Compact Flash, etc.)
  • Redes como Ethernet, LonWorks, etc.
  • Buses de campo como CAN-Bus, LIN-Bus, PROFIBUS, etc.
  • imers como PLL (s), Capturar / Comparar y Unidades de procesamiento de tiempo.
  • E / S discreta, también conocida como entrada / salida de uso general (GPIO)
  • Analógico a digital / digital a analógico (ADC / DAC)
  • Depuración como puertos JTAG, ISP, ICSP, BDM Port, BITP y DP9

Criterios para elegir el microcontrolador

Al elegir un microcontrolador, asegúrese de que cumpla con la tarea en cuestión y de que sea rentable. Debemos ver si un microcontrolador de 8 bits, 16 bits o 32 bits puede manejar mejor las necesidades informáticas de una tarea. Además, los siguientes puntos deben tenerse en cuenta al elegir un microcontrolador:

  • Speed - ¿Cuál es la velocidad más alta que puede soportar el microcontrolador?

  • Packaging- ¿Es DIP (paquete dual en línea) de 40 pines o QFP (paquete plano cuádruple)? Esto es importante en términos de espacio, montaje y creación de prototipos del producto final.

  • Power Consumption - Este es un criterio importante para los productos que funcionan con baterías.

  • Amount of RAM and ROM en el chip.

  • Count of I/O pins and Timers en el chip.

  • Cost per Unit - Esto es importante en términos de costo final del producto en el que se utilizará el microcontrolador.

Además, asegúrese de tener herramientas como compiladores, depuradores y ensambladores disponibles con el microcontrolador. Lo más importante de todo es que debe comprar un microcontrolador de una fuente confiable.