Cómo comenzar a aprender uClinux o Linux incrustado

uCLinux es una variante temprana de Linux que admite Linux en microcontroladores sin MMU (unidad de administración de memoria). Las personas que ejecutaban código C baremetal en microcontroladores, migraron a uClinux en sistemas más antiguos. He trabajado en productos embebidos más antiguos basados ​​en uCLinux,

En este momento, no estoy seguro de si mucha gente usa uCLinux en sus productos.

Puede aprender Embedded Linux, que se usa mucho en la mayoría de los productos integrados.

El proyecto Yocto es un marco de Opensource creado para soportar Linux en varias plataformas y placas integradas. Puede consultar este sistema de compilación Linux de código abierto, metadatos de paquetes y generador de SDK

Yocto admite Linux incorporado en varias plataformas y placas de hardware. Muchas empresas usan el proyecto Yocto y, por lo tanto, es una ventaja aprender Yocto.

Para aprender Linux o Linux Embebido, obtienes muchos recursos disponibles en Internet. Primero comienza con la instalación de Ubuntu VmImage en Windows y juega usando VMplayer. También puede usar la imagen de Virtual Box de Ubuntu.

Aprenda los comandos de Linux, la arquitectura del sistema Linux, el entorno de compilación de Linux, los Makefiles, los scripts de Bash. Luego puede intentar construir su propio código C, compilar, ejecutar y depurar.

Una vez que tenga los conocimientos básicos de trabajo de Linux, puede trabajar en Linux incorporado y construir sus aplicaciones. En general, el Linux incorporado y las aplicaciones se compilan de forma cruzada en el Host Linux y luego se actualizan en la placa de destino. Por lo tanto, es muy necesario tener buenos conocimientos de trabajo de Linux en el entorno de escritorio y también buenas habilidades de programación en C.

Linux es un océano, sigue cambiando continuamente con nuevas adiciones, lanzamientos, etc.

Puede aprender cosas básicas necesarias para comenzar su trabajo de desarrollo en Linux y, según sea necesario, puede profundizar en Linux.

Creo que su objetivo es ejecutar un linux portátil en cualquier sistema integrado que desee, como Cortex-A, Cortex-M, incluso AVR.

Para Cortex-A , en realidad puede ejecutar un Linux completo con compilación cruzada, como raspberry pi , nanopi (NanoPi – FriendlyARM WiKi), etc.

Para Cortex-M , para ejecutar un linux en STM32, por ejemplo, creo que esa es la razón por la que desea aprender ucLinux. Aquí hay algunos recursos útiles para comenzar.

  • ucLinux en STM32F429 : jserv / stm32f429-linux-builder
  • Emcraft con Cortex-M3 y Cortex-M4: EmcraftSystems / linux-emcraf
  • ucLinux para STM32F10x : http://www.st.com/resource/zh/ap

Para AVR , que parece imposible ejecutar Linux en un MCU de 8 bits con recursos muy limitados, sin embargo, aquí viene un simulador ARM que se ejecuta en AVR escrito por Dmitry Grinberg.

  • ¿Linux en un micro de 8 bits?) Aunque tardó horas en ver una línea de comando, aún funciona.
  • AVRSH: un intérprete de comandos Shell para Arduino / AVR. Creo que esta es otra opción para ejecutar una línea de comandos similar a Unix en AVR.

Finalmente, algunos consejos para aprender ucLinux :

  • Familiarícese con el uso de un linux completo primero, como Ubuntu, Fedora, CentOS, etc.
  • Programación de Linux C.
  • Linux embebido: uboot, kernel, rootfs.

Disfruta de la programación integrada:)

Antes de continuar, hágase estas preguntas. ¿Cuánta programación has hecho hasta ahora? ¿Cuánta familiaridad has adquirido en hardware? Si no ha realizado una buena cantidad de programación en C, no intente con Linux. No puedes dominarlo. En el mejor de los casos, puede dar un intento externo. Una vez que gane un buen terreno en la Programación en C, busque la placa del microcontrolador y aprenda a escribir programas simples. Hay un excelente curso llamado ‘Shape the world’ por Jonathan Valvano de la Universidad de Texas. Complete algo similar antes de intentar Linux. ¡¡Todo lo mejor!!

More Interesting

Estoy interesado en un doctorado. Me especializo en sistemas embebidos. ¿Cuáles son algunos temas de investigación (problemas) en sistemas embebidos?

¿Cuáles son los últimos e innovadores proyectos basados ​​en incrustaciones?

Soy un ingeniero electrónico que se graduó recientemente y obtuve un trabajo como ingeniero de sistemas integrados donde tengo que trabajar en la programación C. ¿Es un buen trabajo para mí o no? ¿Debería continuarlo?

¿Cuáles son los 10 principales sitios web que los miembros de Linux incorporado deben visitar?

¿Cuáles son las habilidades requeridas para un ECE más reciente para trabajar en el campo de sistemas integrados o en el campo VLSI en India?

¿Qué cuidado se debe tener al conectar el microcontrolador con la memoria?

¿Cuál es el mejor microcontrolador para trabajar hoy en día, ARM Cortex-M4 o AVR?

Quiero sumergirme en el campo de la robótica y necesito un concepto claro de cómo avanzar. ¿Cómo puedo hacerlo?

¿Cómo creo un widget incrustable en rieles?

¿Cuál es la diferencia entre sistemas en tiempo real integrados y reactivos?

¿Cuál es el mejor instituto de capacitación de sistemas integrados en Roorkee Haridwar?

¿Cuál es la diferencia entre el mecanismo de comunicación de I2C y USB?

¿Qué debo hacer para conseguir un trabajo después de un descanso de 1 año?

¿Cuál es la diferencia entre un sistema integrado basado en Linux y un sistema integrado basado en microcontrolador? ¿Cuáles son algunos ejemplos del mundo real para ambos?

¿Qué debería preferir para mi primer Robot, AVR o 8051?