Memorias de un hombre de izquierda

Sistemas Embebidos

Posted in Sistemas Embebidos by unamdsp on agosto 8, 2009

Desde que comencé con el tortuoso camino del aprendizaje en el desarrollo de aplicaciones de Procesamiento Digital de Señales con procesadores DSP, he tenido el interés de aprender también sobre el desarrollo en otro tipo de microprocesadores.

En la actualidad muchos dispositivos electrónicos corren tal cantidad de algoritmos en lo que entendemos por “tiempo real” que el uso de un sistema operativo para controlar los procesos y los recursos que estos utilizan del equipo de cómputo se vuelve una necesidad.

Un sistema embebido no es más que una computadora o sistema que ha sido diseñado para realizar una pequeña gama de tareas en particular. Existen sistemas embebidos desde los años sesenta, un ejemplo de estos son los sistemas electromecánicos empleados para el conmutado (switcheo) de líneas telefónicas.

Actualmente existe una gran cantidad de diferentes aplicaciones para las que se requiere el desarrollo de sistemas embebidos:

  • Equipo de redes de telecomunicaciones: Firewalls, Ruteadores, Switches, etc.
  • Reproductores MP3, teléfonos celulares, SmartPhones, Camaras digitales, Sistemas de entretenimiento, etc.
  • Microondas, lavadoras, televisiones.
  • Satélites y Sistemas de Control de Vuelo.
  • Existen algunos factores que hacen diferentes a los sistemas embebidos de una computadora de escritorio:

  • Los sistemas embebidos son muy sensibles al costo de sus componentes.
  • Los sistemas embebidos comúnmente deben operar en tiempo real.
  • Existe una gran cantidad de diferentes arquitecturas de procesador que pueden usarse para los sistemas embebidos.
  • Los sistemas embebidos requieren pocos recursos en términos de memoria (RAM, ROM) y no utilizan los típicos dispositivos de entrada y salida (I/O) de una computadora de escritorio (ratón, teclado, etc).
  • El uso de la energía eléctrica es un aspecto importante en los sistemas embebidos. Por ejemplo, un celular que consuma mucha energía no es práctico.
  • El ambiente de desarollo y revisión de errores es muy diferente en los sistemas embebidos. Generalmente, estos requieren circuitería especial para diagnosticar errores y realizar pruebas.
  • Los sistemas embebidos son desarrollados tomando en cuenta tanto el hardware como el software requerido. Ejemplo: Un reproductor MP3 debe contar con un equipo decodificador de audio MP3 en hardware construido al interior del sistema.
  • Como mencioné al comienzo de esta publicación, en el pasado los sistemas embebidos no usaban algún sistema operativo para administrar sus recursos y tareas. Pero con el paso del tiempo, cada vez existen sistemas embebidos más complejos que deben ejecutar múltiples procesos en forma “simultánea” y que en algunos casos requieren la interacción con el usuario.

    Todos estos aspectos hicieron necesario el uso de sistemas operativos para brindar un manejo de la memoria, administrar los múltiples procesos e hilos, permitir la intercomunicación entre procesos, manejo de los tiempos (timers).

    Aunque existen una multitud de diferentes sistemas operativos para los sistemas embebidos, uno de los que más atención esta atrapando al igual que en las computadoras de escritorio es Linux.

    En posteriores publicaciones profundizaré en el desarrollo de sistemas embebidos con Linux como S.O.

    Seguir

    Get every new post delivered to your Inbox.