¿Cuáles son los mejores recursos (libros, cursos de video, etc.) para aprender la programación del Sistema Embebido? Ya conozco el desarrollo de escritorio (usando C ++ y C #).

No hay muchos libros sobre este tema. Creo que el mejor lugar para comenzar es desarrollar técnicas de depuración integradas. Visual Studio tiene una instalación de depuración remota que se utiliza en entornos integrados de pequeñas ventanas de kernel. Usamos esto en el entorno embebido de Windows. Para la depuración de XP heredada, requiere una combinación de Windows 2013/15 host y Windows 2010 (destino). Si recuerdo, el monitor de destino es msvcmon.exe para vs6.0 / XP y msvcmon.exe para vs2010 / vs2012.

Pero mi entorno podría ser un caso especial. Hay kits de hardware de sistema integrados de todos los principales proveedores de microtrollers. En muchos casos, la pila de hardware / software será personalizada.

He estado buscando un buen libro en esta área. Tengo el libro “” Depuración avanzada de Windows “de Mario Hewardt y Daniel Pravat, pero no he encontrado ningún atajo para aplicar a mi trabajo diario. Creo que esto se debe a que los problemas de depuración son de mayor nivel / más fáciles de resolver.

En muchos sistemas de depuración integrados / complejos, encuentro que las mejores herramientas son “cuchillos de piedra y pieles de oso” para acuñar una frase del diálogo de Spock de Star Trek. Es el episodio de Edith Keeler donde Spock debe construir una computadora con un tricorder y la tecnología de los años treinta. Entonces, cosas como la búsqueda binaria, cambian una cosa a la vez, las cosas básicas de la Edad de Piedra son más efectivas cuando los sistemas integrados se rompen.

si está desarrollando ARM, le recomendaría que conozca el ARM DAP (Protocolo de acceso a depuración) o, si tiene algún otro dispositivo integrado, obtenga el equivalente. Cómo decir “Hola Mundo” para tener algunas comprobaciones de cordura. Triangular en una falla. Con fallas de sistemas complejos pueden enmascararse como problemas diferentes. Intente tener más de una técnica para enviar / recibir la misma información. (Diferente voltaje / velocidad / orden de comandos). El error puede parecerse al problema A, pero sea el problema B. Trate de tener enfoques que puedan ayudar a aislar uno u otro … es decir, tener más de una forma de hacer una tarea y verificar ambas periódicamente.

cuando trabaje más allá de las 4:00 a.m., considere que podría hacerlo bien para dormir un poco y atacar otro día.

¡Documento! Si no hubiera un archivo de registro o fotografía o alguna evidencia documentada de éxito o fracaso, nadie le creerá que sucedió como “” Eso no puede estar bien “o” “¿Qué hiciste mal ahora?” llevará tiempo demostrar que lo que funciona funciona y lo que no funciona. No siempre es fácil mantener correctas las listas de esas dos cosas.

Recuerde, si fuera fácil, todos lo harían y los salarios se ajustarían en consecuencia. Si es un desastre feo y no tienes una idea clara de cómo ir del punto A al punto B … es posible que estés en algo. Timebox thise para que no pases semanas sin progreso. Encuentre un gerente / colega con el que pueda trabajar para decir “Oye, me he estado golpeando la cabeza contra la pared durante” “x horas / días” y creo que es hora de un control de la cordura / una nueva mirada … si es así trabajando en cosas innovadoras que nadie ha hecho antes … pero habrá expertos técnicos que pueden guiar / ser utilizados como recursos.

Así que ahí lo tienes Ramblings de alguien que piensa que podría haber sido útil. Obtienes lo que pagas 🙂