Gracias por preguntar 🙂 Mayur
- Aprenda C: El lenguaje fundamental del hardware que todavía es portátil (también en cierta medida). No solo lo aprenda, sino que se convierta en un experto de todas sus características, como volátil y por qué es importante para escribir controladores de dispositivos.
- Comience con un buen kit de desarrollo como Arduino, pero como se dijo antes, aprenda otras arquitecturas una vez que tenga una buena idea. Afortunadamente, hay algunas placas compatibles con Arduino construidas con otros procesadores, de esa manera puede reescribir el mismo diseño en un uC diferente sin estropear todo su diseño mientras se siente algo nuevo.
- Desafíate a reescribir tu código de manera más eficiente en términos de velocidad y uso de memoria.
- Familiarizarse con diferentes estilos de arquitecturas de software de sistemas integrados. Comience con el procesamiento básico de interrupción / bucle en segundo plano, luego pase a los planificadores en segundo plano, luego a los sistemas operativos en tiempo real.
- Incluso regístrese en algunos sitios de alojamiento de control de código fuente gratuitos como Sourceforge.net o Bitbucket.org para alojar su proyecto, incluso si usted es el único que trabaja en él. Realizarán una copia de seguridad de su código, por lo que no tiene que preocuparse de que el bloqueo ocasional del disco duro destruya todo El uso de un VCS distribuido es útil, ya que puede registrar los cambios en su disco duro y luego cargarlos en el sitio host cuando esté listo.
- ¡Aprende nuevas técnicas y experimenta con ellas en tus diseños!
- Aprenda a programar a la defensiva para detectar errores y verificar suposiciones (como usar aserción)
- Cree una información de depuración en su código donde pueda, como generar el consumo de memoria o crear un código de perfil con temporizadores o usar pines de repuesto en el uC para alternar y medir la latencia de interrupción en un osciloscopio.
Aquí hay algunos libros:
- El programador pragmático de Andrew Hunt y David Thomas: lectura más o menos necesaria para cualquier desarrollo de software práctico
- Arduino práctico
- Programación de sistemas integrados por Michael Barr
- Bloques de construcción de sistemas integrados de Jean Labrosse
- MicroC OS II Real Time Kernel de Jean Labrosse, gran introducción a RTOS en general junto con su sistema operativo.
- Embedded Software Primer por David Simon: buena introducción al software incorporado
Aquí hay algunos sitios web:
- ¿Con qué frecuencia se usa el lenguaje C en sistemas militares integrados para una forma de disparadores de respuesta automática para armas?
- ¿En qué circunstancias debería uno estar preocupado por el efecto de la línea de transmisión?
- ¿Para qué sirve un microcontrolador de 8 bits?
- Estoy trabajando en un enjambre industrial de robots, ¿se recomienda centrarse en el comando y control basado en el servidor, o centrarse en el control centrado en el robot?
- ¿Cómo ayudaría el aprendizaje de la informática y algunos conceptos básicos de las redes en la carrera de ingeniería de sistemas integrados?
- Gurús incrustados
- Ganssle Group Jack Ganssle tiene algunas historias históricas maravillosas que contar. Lee los artículos. Sin embargo, se pone un poco predicador sobre algunas cosas.
- Embedded.com Buena información sobre las últimas técnicas y consejos de Ganssle, Barr y otros expertos de la industria.
Fuente: StackExchange