Esta es una de esas cosas, donde no hay reemplazo para la experiencia, requiere trabajo de detective, heurística, espionaje y espionaje. Hay demasiados extremos abiertos. Sería genial si alguien puede organizar un curso profesional. Sin embargo, generalmente la depuración se aprende como un efecto secundario del desarrollo. Así que comience con el desarrollo de sistemas integrados, haga proyectos cada vez más grandes, aprenderá a depurar como un efecto secundario.
Una vez que llegue al problema:
Primer paso: observar,
- ¿Cuál es la mejor manera de crear un sistema operativo de propósito único para un dispositivo integrado?
- ¿Dónde se encuentra el archivo elf dentro de un microcontrolador?
- ¿Cuáles son las startups notables basadas en un sistema integrado en Chennai?
- ¿Hay algún trabajo para los programadores de C en campos distintos de los sistemas integrados?
- ¿Por qué la programación de sistemas integrados parece más difícil que la programación de sistemas?
- ¿Es un error funcional [1]
- ¿Es un accidente? En caso afirmativo, con qué frecuencia, en qué períodos, cuál es el desencadenante.
- ¿Es un problema de rendimiento?
- Otros.
Segundo paso: conozca las herramientas que podría usar,
- Comparaciones de archivos.
- Network Sniffers para redes.
- IDE, ventanas de memoria, registros, ventanas de vigilancia, etc.
- Conozca las características del depurador, uno común es GDB.
- Comprobación de archivos hexadecimales.
- Trazado, analizador lógico, osciloscopio y multímetro. Lea las hojas de datos y los manuales para aprender a usarlos.
- Herramientas de análisis estático y dinámico.
- Sigue las variables.
- Imprimir declaraciones a través de uart a pc.
- Uso de LED para indicaciones.
- Otros.
Tercer paso: elija enfoques para encontrar el error,
- Divide y conquistaras. Prueba 1 módulo a la vez. Luego combine 2 módulos y siga aumentando el número de módulos. Observe cuándo ocurre el error.
- Compare con modelos de trabajo más simples.
- Lea la teoría de cómo debería funcionar y verifique la teoría en la práctica. Por lo general, los errores ocurren cuando la teoría no se refleja en la realidad.
- Si nada más funciona, la única opción es hacer un recorrido de código o un recorrido de diseño electrónico. Anticipando posibles errores y probando el concepto.
- Otros.
Qué herramientas y enfoques utilizar dependerán de la observación.
Para la depuración de hardware, aprenda electrónica analógica y digital. No tenga miedo de leer hojas de datos y manuales. Verifique la teoría con la realidad incluso cuando no tenga ningún problema con el hardware y el software, esto lo ayudará más adelante cuando necesite depurar.
Lo más difícil de aprender: la depuración del sistema integrado es encontrar los recursos físicos, ya sea con tarjetas, sensores, actuadores, multímetros más baratos (estos son muy fáciles de ordenar en línea hoy en día) o encontrar laboratorios o espacio para fabricantes, donde pueda hacer esto.
Además, aprenda a formular preguntas cuando esté atascado en la depuración. Puede encontrar muchas soluciones e ideas sobre qué hacer a continuación en el intercambio de pila y otros foros.
Volcar algunos enlaces a continuación para lectura adicional. ¡Buena suerte!
Seis técnicas de depuración para el desarrollo de sistemas integrados
Cómo depurar sistemas embebidos
http://www.embedded.com/design/p…
Cuatro libros sobre depuración
https://news.ycombinator.com/ite…
Notas al pie
[1] 7 tipos de errores de software que todo probador debe saber