¿Qué quiere decir con “C incrustado”?
Muchos de los sistemas embebidos de alta visibilidad actuales están ejecutando alguna variante de Linux, por lo que es mejor que aprenda sobre la programación de sistemas de espacio de usuario y la programación de kernel.
Si, en cambio, se refiere a sistemas pequeños (es decir, de 8 bits, con recursos limitados, con quizás uno o dos K de espacio de código y unos cientos de bytes de RAM), entonces sí, vale la pena hablar con algunas personas que trabajan en ese dominio.
- ¿Cuántos bits requiere una instrucción enviada como mínimo, incluidos los operandos? (Microcontrolador AVR Atmel de 8 bits)
- ¿Cuáles son las tendencias actuales en prototipos virtuales?
- ¿Cuál es su opinión sobre la generación del procesador x86 (486)? ¿Se puede usar como un dispositivo IoT y competir en un microcontrolador de segmento pequeño?
- ¿Cómo se debe comenzar a trabajar en sistemas embebidos?
- Estoy a dos años de graduarme de la escuela de ingeniería y creo que he perdido mucho tiempo concentrándome en aprobar los exámenes en lugar de aprender los materiales. ¿Cómo puedo convertirme en un buen ingeniero de sistemas integrados en dos años?
Gran parte de lo que haga aquí será “absorber la lógica”, básicamente reemplazar las puertas lógicas con software. Pero deberá sentirse completamente cómodo con las diferencias entre E / S con asignación de memoria y asignación de bus, escribir ISR, tratar con periféricos integrados, protocolos de comunicación comunes como I2C y SPI, UARTS, temporizadores, etc.
También deberá poder leer (al menos las partes digitales de) esquemas de circuitos para determinar de qué manera conducir los pines de E / S y si se necesitan pull-ups internos, etc. Ah, y necesitará sentirse cómodo. con el uso de osciloscopios, generadores de señales, generadores de formas de onda arbitrarias y ocasionalmente un soldador (para cuando los EE se equivocan)
También necesitará aprender las diferencias entre C89 / C90 y la C moderna, ya que muchos compiladores para chips pequeños todavía están atascados en los viejos estándares.
De cualquier manera, debe desarrollar una buena disciplina en torno a la estructuración correcta de su código, las mejores prácticas y expresiones idiomáticas específicas del idioma, el diseño para la prueba, etc. Esos son universales.