Cursos sobre la implementación de Linux en sistemas integrados

Soy un nuevo estudiante de posgrado en EE y estoy tratando de aprovechar al máximo mi tiempo aquí en la universidad. Siempre quise entender cómo ejecutar Linux en plataformas integradas, pero desde el exterior parece realmente arcano. A continuación se enumeran algunas de las cosas que debe saber, cada una con su propio nido de ratas de complejidades:

  • Cadenas de arranque, haciendo que una computadora cargue/ejecute su código kernel.
  • Hacer kernels de Linux con controladores para el sistema.
  • Compilación cruzada, cadenas de herramientas de desarrollo
  • Despliegue, depuración y comunicación a través de hardware como uart.
  • Crear una zona de usuario para hacer lo que quieras (supongo que cuando llegas aquí se convierte en una aplicación específica para una discusión general)

Puede que me esté perdiendo algunos pasos.

¿Qué recursos puedo usar para aprender sobre estas cosas?

Supuse que habría algunas clases que brindarían una breve descripción general de estos temas, pero mirando las listas de cursos, parece que hay diferentes niveles de 'sistemas integrados'. Muchas de las clases se enfocan en el desarrollo de software para computadoras extremadamente limitadas. Durante la licenciatura, una famosa clase de 'sistemas integrados' de EE culminó con los estudiantes programando desde cero su propio sistema operativo en tiempo real para una máquina expendedora hipotética. Si bien eso es genial, no es lo que estoy buscando.

Respuestas (3)

estudiar Beaglebone y la documentación sobre cómo funciona es una excelente manera de ver cómo configurar y ejecutar Linux en un chip ARM potente pero pequeño como el TI AM3358 (ARM A8 o A9, creo).

Pasan por todo el proceso de cómo interactuar con u-boot y los procesos de bajo nivel, y luego las cosas de la imagen del kernel.

Trabajé para una empresa que usaba beaglebone como placa de desarrollo para los chicos de firmware, mientras que los chicos de hardware hacían una PCB personalizada e integraban todos sus circuitos de control industrial en ella.

Deberías echar un vistazo a "husillo":

Es un conjunto de scripts que crean imágenes para Raspberry Pi. Le muestra cómo puede iniciar una arquitectura externa, usar QEmu para emular el objetivo, instalar los paquetes en un entorno chroot, etc.

El libro "Construcción de sistemas Linux integrados" (2ª ed. ISBN 978-0-596-52968-0) cubre todo lo que quería saber. En su mayoría están hablando de kernel 2.6, el "borde sangrante" se puede estudiar mirando el proyecto OpenWRT.