SISTEMAS EMBEBIDOS DESDE CERO

PRÓXIMAS FECHAS:

  • Los cursos se imparten en el mes de abril de 2018. No hay nuevos cursos programados. Para más información envíe un correo a: javier@javierromera.com

DOCUMENTACIÓN DEL CURSO Y CONTACTO

Descargar la documentación detallada.

Para cualquier aclaración o comentario, escriba un correo a: javier@javierromera.com

DESCRIPCIÓN GENERAL

El diseño de un sistema “desde cero” basado en un micro-controlador es un arte que se está olvidando.  A mi modo de ver, encuentro dos causas fundamentales:

  • Los micro-controladores son cada vez más complejos.
  • Se ofrecen soluciones para un desarrollo “abstrayendo” las interioridades del micro-controlador.

En cuanto al primer aspecto, se puede señalar que uno de los micro-controladores que tengo como favorito y que empleo habitualmente (El STM32L476) tiene un manual de referencia de casi 2000 páginas (eran aún más en la primera versión, y eso no incluye los detalles del núcleo ARM Cortex-M4F). Con decenas de periféricos que se manejan a través de un elevado número de registros por cada uno de ellos, con conexiones complejas entre periféricos e interdependencias… el manejo se torna bastante complejo.

La tradición clásica (al menos para mí) de comenzar con un programa mínimo que active una salida (por ejemplo, un LED) de forma intermitente, que antes podía obtenerse en horas o incluso minutos ahora pasa a ser de días. No sólo el micro-controlador es complejo, las herramientas también se suman a la complejidad.

En un mundo en el que se quiere todo “para ahora” una curva de aprendizaje lenta suele suponer un rechazo inmediato de ese modo de trabajo. La orden recibida por el ingeniero suele ser: “lo necesito para…» o «seguro que hay una solución más simple”.

En cuanto al segundo aspecto, la aparición de sistemas como ARDUINO, Espruino, mbed… permiten que el desarrollo de aplicaciones sea cada vez más simple, proporcionando un elevado nivel de abstracción sobre el hardware y la configuración interna del dispositivo.

Por su parte, los fabricantes ofrecen también “ecosistemas” (conjunto de software, herramientas, documentos…) que abstraen el hardware del micro-controlador, el uso de determinados procesos estándar… y permiten el acceso mediante funciones de alto nivel a acciones complejas.

Aunque todo esto suena muy bien, nada parece ser gratis y aún quedan muchas situaciones en las que una aproximación “desde cero” es absolutamente necesaria:

  • Optimización de tamaño de memoria.
  • Optimización de consumo.
  • Uso de periféricos en modos especiales o más optimizados
  • Conocimiento de cada mínimo detalle del proyecto

Este curso está orientado a conseguir que el diseño de un sistema “desde cero” deje de ser una pesadilla para ser un trabajo ordenado, organizado y previsible.