Tener una sólida experiencia en hardware es una gran ventaja. He trabajado con muchos EE haciendo programación integrada que no tenía experiencia en CS, pero al revés es bastante raro: experiencia solo en CS sin experiencia en electrónica.
Tengo un título en BSEE y MSCS, lo que creo que es bastante óptimo para trabajar con sistemas integrados. No tiene que ser un EE, pero idealmente habrá tomado al menos algunos cursos en materias como circuitos digitales, circuitos analógicos y arquitectura de computadoras.
Como mínimo, debe poder leer esquemas, utilizar un osciloscopio, un multímetro y otros instrumentos, y comprender las hojas de datos del microcontrolador que pueden durar cientos de páginas. Aquí hay uno para un procesador ARM en el que estoy trabajando actualmente escribiendo un controlador de dispositivo para el que tiene casi dos mil páginas. Cuando navegue por la hoja de datos, observe todas las definiciones de registro y los diagramas de bloques de los circuitos.
- ¿Cuáles son algunos buenos libros sobre diseño de sistemas integrados?
- Siendo un Mech Engg, ¿cómo se puede aprender / dominar los sistemas integrados y el IoT?
- ¿Cuáles son los conceptos clave del curso de aprendizaje del sistema integrado?
- ¿Cuáles son las cosas que debemos tener cuidado al diseñar y fabricar circuitos electrónicos para uso industrial que dura años?
- ¿Puedo codificar en Python en lugar de C / C ++ para un área de investigación de sistemas integrados?
Necesitará conocer todos los periféricos de microcontroladores comunes, como USB, I2C, SPI, UART, DMA, I2S, ADC, DAC y muchos otros.
A veces hay un marco disponible, como Microchip’s Harmony para sus procesadores de 32 bits. Esto le ahorra tener que escribir directamente en los registros del microcontrolador, por ejemplo, para configurar I2C para que pueda controlar un códec y, en su lugar, use una API que sea la misma en varios procesadores. Pero aún necesita saber cómo funciona I2C.