¿Qué es Embedded Linux? ¿Qué conocimiento se requiere para usarlo?

Linux incrustado no es más que una versión reducida de Linux para un bajo consumo de energía (Linux es solo un kernel que se puede hornear para tener las herramientas del sistema, la interfaz gráfica de usuario, etc.) necesarias.

Bueno. Déjame responderte desde la perspectiva de la industria.

  1. Industria automotriz: Mercedez Benz, Volvo, Alstom., Etc.
  2. Industria de robótica / automatización: Mitsubishi, Fanuc, ABB, Yaskawa., Etc.
  3. Fabricación eléctrica y electrónica: Robert Bosch, Continental., Etc.
  4. Electronic Design Automation (EDA): Mentor Graphics, Cadence, Synopsys, Foxconn., Etc.
  5. Industria de semiconductores: Intel, Qualcomm, Mediatek, Nvidia, etc.
  6. Equipos de desarrollo RTOS / OS: OEM de Apple, VxWorks, Microsoft, Android, etc.

Verá que el ingeniero de sistemas integrados puede caber en cualquiera de estas industrias. ¿Pero realmente necesita conocimiento sobre circuitos, sensores, relés, actuadores y otras cosas electrónicas?

La respuesta depende de la industria, su rol en el equipo del proyecto.

La mayoría de los circuitos están automatizados por cualquiera de las industrias EDA. Habría escuchado que Foxconn fabrica para Apple y Foxconn lo hace para la mayoría de las empresas. Por lo tanto, no necesita la mayor parte del conocimiento de los circuitos, pero lo básico será útil.

Si. Debe conocer los conceptos básicos de las arquitecturas informáticas. Debe conocer los conceptos del sistema operativo y los conceptos básicos del controlador del dispositivo si desea concentrarse en Linux integrado. Debe saber qué es la frecuencia de reloj y cómo afecta el consumo de energía. Obviamente, debe saber codificar en C. Si se le pide que optimice el código para la arquitectura particular, diga el conjunto de instrucciones ARM Neon, o una unidad de coma flotante, aprenda a leer la hoja de datos y use el código de ensamblaje en línea. Debe saber depurar y perfilar su programa.

Debe saber sobre conceptos en tiempo real.

Debe conocer los conceptos básicos de las interfaces de bus como I2C, SPI, UART, I2S, USB, PCI y el uso de modbus.

Debe saber cómo se conectan sensores como el sensor de temperatura, el sensor de proximidad, el sensor ultrasónico, el giroscopio, etc. (Si está buscando alguna de las industrias anteriores)

Debe conocer algunos de los conceptos básicos de la comunicación de corto alcance como bluetooth y su pila de protocolos.

Sería mejor si lo supieras

  1. cómo las interfaces de memoria como DDR2, DDR3, LPDDR3., etc. trabajo. (Si está buscando industrias como SanDisk)
  2. cómo funcionan los sistemas de archivos como RAID (si está buscando industrias como Seagate, WD), squashfs, otros sistemas de archivos flash.
  3. sistemas de construcción de Linux como el proyecto Yocto, bitbake, buildembedded, openembedded., etc.
  4. marcos / bibliotecas multimedia / audio / video como v4l, gstreamer, alsa, opencv., etc.
  5. Las diferencias en microprocesador, microcontrolador, DSP, GPU, FPGA. (Estaría familiarizado con los primeros 2, supongo).
  6. marcos gui como QT, GTK +
  7. programación multinúcleo / paralelo como openmp, mpi, pthreads, CUDA, opencl., etc.

De todos modos, puedes aprender las cosas que no sabes cuando tienes tiempo. Si está familiarizado con la codificación, no le tomará mucho tiempo leer la parte de arquitectura. Ensúciate las manos. Hoy en día, todos los recursos están al alcance. La mejor de las suertes.

Espero haber respondido tu pregunta.

FYI: he limitado el alcance de la industria para la facilidad. Aún así, hay empresas de tecnología portátil como Fitbit, empresas de información y entretenimiento como Harman, empresas de redes como Cisco. Habrá muchas más compañías para enumerar desde el floreciente dominio de IoT, VR y AR.

  1. Una computadora integrada es aquella que está dedicada a alguna funcionalidad dentro de otro sistema más grande. Por ejemplo, la computadora dentro: un termostato Nest, los frenos antibloqueo de su automóvil, un audífono moderno, el controlador del motor en un nuevo aire acondicionado, están integrados por definición.
  2. Linux es un sistema operativo.

Linux incorporado es Linux que se ejecuta en una computadora integrada.

No se requiere conocimiento de computadora o Linux para usar una computadora Linux integrada. Cuando usa una computadora Linux integrada que controla su aire acondicionado, gira una perilla para establecer la temperatura ambiente deseada; el hecho de que haya una computadora dentro de ese termostato es completamente transparente para usted.

Sin embargo, se requiere una gran cantidad de conocimiento, en muchas disciplinas, para construir una computadora Linux integrada que entre en ese termostato.

More Interesting

¿Qué empresa fabrica el mejor software para animación?

¿Qué debo aprender a continuación para dar un paso para convertirme en un desarrollador de software senior? Conozco Node.js en el marco LoopBack, así como las utilidades lodash y Async.

¿Cuáles son algunas clases y subsistemas que se pueden encontrar en el software de un panel de sistema de seguridad para el hogar?

¿Cuáles son los cursos y los temas cubiertos en el Máster en Ingeniería de Software?

Como ingeniero de software, ¿cuáles son sus consejos para una gestión eficaz del tiempo?

¿Cuántos desarrolladores y cuánto tiempo tomaría escribir una GUI sólida para Linux desde cero para que coincida con la calidad de Windows y Mac OS?

¿Cuáles son los trabajos realizados por los probadores?

Tengo 3 años de tiempo. Amo las computadoras y estoy obsesionada con este campo. ¿Cómo puedo dominar todo (desarrollo web, software, sistema operativo, piratería, etc.) a tiempo?

¿Qué tan cierto es lo siguiente: 'Cada línea de código es un error'?

En un proyecto de desarrollo de software, ¿qué tipo de cambios requerirían una solicitud de cambio formal y qué no?

¿Cuál es la diferencia entre un desarrollador de juegos y un ingeniero de software?

¿Qué son todos los CDN y cómo difieren en oferta y precio?

¿Es robusto cada software confiable?

Cómo ganar dinero en la industria del software

¿Debería unirme a una startup de análisis de datos que trabaje con la última tecnología (salario más bajo) o permanecer en una multinacional en un equipo de Operaciones / Administración (salario más alto)? Tengo 25 años, soy indio y actualmente trabajo en la MNC.