¿Qué tipo de conocimiento se debe adquirir para el rol de programador de controladores de dispositivos integrados como un programa más reciente?

Primero tiene que ser bueno en la programación en C y luego en C incrustado, es decir, escribir programas para microcontroladores. En Embedded C, debe dominar la programación de interrupciones (ISR), ya que la mayoría de los dispositivos / periféricos en microcontroladores son controlados por interrupciones en tiempo real.

Lo que he escrito anteriormente es válido para los controladores de dispositivo de firmware. En caso de que esté buscando aprender controladores de dispositivos Linux, debe tener un conocimiento profundo del núcleo de Linux y el árbol de dispositivos Linux.

Otra opción podría ser escribir controladores de dispositivo para Embedded RTOS. Para esto, se debe aplicar el mismo enfoque que los controladores de dispositivos Linux. Aquí necesitaría aprender sobre la arquitectura RTOS, el núcleo y los dispositivos.

Conocimiento esperado:

C y C incrustado, estructuras de datos (incluidos punteros, punteros a estructuras y matriz de estructuras, punteros de función), sistemas operativos (programación, procesos, subprocesos, gestión de memoria), arquitectura informática. Conocimientos de programación de dispositivos específicos como SPI, I2C, CAN, Ethernet, USB. El conocimiento de TCP / IP es una ventaja.

Si puede aprender y escribir controladores de dispositivo por su cuenta, también podrá responder preguntas en una entrevista. Sin aprender a desarrollar controladores de dispositivos, ni siquiera sueñe con pasar una entrevista para controladores de dispositivos simplemente leyendo / conociendo las preguntas estándar.

Vamos a dividirnos en dos partes

En la sección de software, enfóquese en Embedded C, las diferencias que puede, lo que no puede hacer (sí, la mayoría de las bibliotecas son versiones recortadas para ejecutarse en una MCU pequeña).

Aprenda el uso de interrupciones tipo de latencia de interrupción, es decir, vectorizada y no vectorizada.

Aprenda acerca de RTOS cómo implementar en varios procesadores, busque freeRTOS

RTOS (Sistema operativo en tiempo real) líder del mercado para sistemas integrados con extensiones de Internet de las cosas

Sección de hardware

Aprenda dispositivos LVCMOS (que funcionan en 3.3–3.6 v) como MSP430 de TI, Teensy 3.3, etc.

Centrarse en el protocolo I2C y sus usos. Tipos de ADC de ADC (SAR, SIGMA DELTA, etc.), SPI, CRC y más. Es un tema muy vasto, de hecho

Primero aprenda los sistemas integrados, luego los controladores de dispositivos. Si es necesario, busque entrenamiento para controladores de dispositivos. Debe saber acerca de Rtos. También debe tener buenos conocimientos sobre c incrustado. Estos, sobre todo, él espera de ti

Hola manisha

Si desea desarrollar la carrera en controladores de dispositivos, entonces debe estar en la cima de la programación. Dado que los sistemas integrados utilizan C, eso significa que debe ser DS perfecto, lista enlazada, colas, manipulaciones de bits y conceptos de microcontroladores como Endianess, etc.

Aparte de lo anterior, sería bueno obtener conocimiento sobre cómo usar variables de estructura para acceder a los registros de Hardware.

Más arriba se dan algunos de los principales requisitos y cualidades que debe poseer el controlador del dispositivo.

Puede mencionar al entrevistador su tema central y áreas de enfoque. Deberás ser minucioso en esa área en particular. Incluso podrían ser sus proyectos de último año, etc. solo concéntrese en uno o dos.

Lo que más buscamos es su actitud de aprendizaje y su flexibilidad para aprender y extender su tiempo de trabajo … si es necesario.

A menos que esté optando por un trabajo que requiera muchas discusiones con una compañía externa … incluso la comunicación oral es secundaria.

En realidad no hay límite para ello.

Aprende todo lo que puedas.

Esta respuesta lo ayudará a saber cuánto aún tiene que aprender, pero no se limitará a ello.

La respuesta de Ranjith Kumar a ¿Cuáles son las mejores conferencias para aprender sistemas embebidos en YouTube?