¿Necesitamos estudiar en detalle el microprocesador y los microcontroladores?

Buena pregunta. No es necesario que sepa sobre microprocesadores o microcontroladores para trabajar en sistemas integrados.

Para ser un buen desarrollador integrado, uno debe ser bueno en las siguientes habilidades.

1. C habilidad de programación
2. Capacidad para entender el mapa de memoria
3. Cada controlador comienza y termina la dirección
4. Capacidad para comprender la descripción funcional de los controladores.
5. Cómo interactuar con los controladores y hacer el trabajo.

Nota. Los controladores no son más que una función en C. Pero la función es independiente del microprocesador. Cuando se usan funciones, uno tiene que saber cómo pasar parámetros a la función. Lo mismo fue cómo pasar los parámetros a los controladores debe ser bien entendido por los desarrolladores integrados. El mapa de memoria ayuda para eso.

Puedo explicar cada uno de los puntos anteriores en detalle. Si necesitas más explicación escribe un comentario.

No, según mi experiencia, necesita saber más sobre el hardware para el que está escribiendo código. Cuando se trata de sistemas incrustados, está realmente muy cerca del hardware. También debe centrarse en escribir código optimizado porque la mayoría de las veces es posible que se quede sin memoria y ese es uno de los problemas más comunes que enfrentan los desarrolladores integrados.

Depende de cómo se diseñe el sistema. Si tiene que bajar mucho el nivel de bits, el ensamblaje probablemente sea más rápido que saltar dentro y fuera de C, y en ese caso necesitaría saber mucho más sobre la CPU que alguien que esté escribiendo el código Python.

Pero si todo se hace en un lenguaje de alto nivel, no, no te importa lo que sea la CPU.