Si está más interesado en el software integrado, la ingeniería informática es probablemente la mejor opción. La ingeniería electrónica / eléctrica también sería buena.
Hay diferentes niveles de incrustados. En el extremo superior, tiene cosas como procesadores Cortex-A53 de 1 GHz con 512 MB de RAM con Linux. La programación para ellos realmente no es muy diferente de la programación para PC. Claro, tiene menos recursos, pero todas las instalaciones estándar todavía están allí.
Si desea escribir controladores de kernel, es un poco más difícil, y sería muy beneficioso hacer un curso sobre diseño de circuitos digitales (para que sepa cómo funcionan los registros de IO y funciones especiales mapeados en memoria, y qué significan las diferentes especificaciones de temporización de hardware , etc.)
En el extremo más bajo, tiene cosas como microcontroladores de 8 bits (e incluso Cortex-M7 de hasta 32 bits) que funcionan con metal desnudo (sin un sistema operativo). Programar para ellos es un poco como hacer la programación del controlador del núcleo, pero ni siquiera tiene recursos del núcleo (asignador de memoria, etc.).
- ¿Es posible triplicarse en física, matemáticas y ciencias de la computación manteniendo un alto promedio de calificaciones?
- ¿Puede un estudiante de PCB optar por la astrofísica después del 12?
- ¿Cuál sería una buena especialización para alguien a quien le gustaría trabajar en publicaciones?
- Como estudiante universitario, ¿qué aplicación aún no se ha hecho que escuche que la gente necesita en su vida diaria?
- ¿Cuál es la diferencia entre Financial Math y Math Economic Major en la universidad del Reino Unido?
También está el aspecto práctico: muchas empresas que contratan desarrolladores de software embebido preferirían personas que también tengan algún conocimiento de hardware, para que puedan depurar de manera más efectiva con personas de hardware cuando surjan problemas. El error más memorable que encontré en el desarrollo embebido fue una anomalía de características de alto nivel que ocurre muy raramente en un sistema complejo (más de 50 subprocesos que hacen cosas diferentes en un SoC Cortex-A9 de doble núcleo que ejecuta Linux despojado) que tenía todos los signos de ser una condición de carrera, y me llevó una semana rastrearlo hasta un valor de capacitancia demasiado bajo en la PCB. Pasó de pruebas unitarias a depurador a kernel printk a osciloscopio.
Hay algunos trabajos integrados que puede obtener sin mucho conocimiento de hardware, pero si sabe (o sospecha mucho) que es la carrera que desea seguir, obtener más conocimiento de hardware sería una muy buena inversión. Abrirá muchas más puertas.