¿Dónde puedo aprender profesionalmente la depuración de sistemas integrados? Un libro, un curso o cualquier cosa.

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,

  • ¿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,

  1. Comparaciones de archivos.
  2. Network Sniffers para redes.
  3. IDE, ventanas de memoria, registros, ventanas de vigilancia, etc.
  4. Conozca las características del depurador, uno común es GDB.
  5. Comprobación de archivos hexadecimales.
  6. Trazado, analizador lógico, osciloscopio y multímetro. Lea las hojas de datos y los manuales para aprender a usarlos.
  7. Herramientas de análisis estático y dinámico.
  8. Sigue las variables.
  9. Imprimir declaraciones a través de uart a pc.
  10. Uso de LED para indicaciones.
  11. Otros.

Tercer paso: elija enfoques para encontrar el error,

  1. 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.
  2. Compare con modelos de trabajo más simples.
  3. 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.
  4. 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.
  5. 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

More Interesting

Aprendí sistemas integrados a través del modo en línea, en lugar de unirme a cualquier centro de capacitación. ¿Puedo solicitar trabajos integrados? ¿Cómo?

¿Qué es mejor, una MS en sistemas embebidos o un CDAC en sistemas embebidos?

¿Cuál es la mejor manera de aprender Linux embebido? ¿Es razonable asistir a un curso de introducción de Linux incrustado a un precio de US $ 400?

¿Cómo se puede identificar el microcontrolador original vendido por un distribuidor?

Estoy interesado en continuar en el dominio incrustado y actualizarme con nuevas tecnologías. ¿Qué industrias / empresas puedo abordar?

¿Por qué se desarrolló Verilog? ¿Puede C / C ++ hacer lo que hace Verilog?

¿Cuáles son los pasos necesarios para desarrollar firmware integrado?

¿Debo usar un optoaislador mientras conecto un dispositivo MIDI con un microcontrolador?

¿Qué es el mapeo en sistemas embebidos?

Cómo comenzar el estudio de Linux embebido

¿Es Arduino una mala forma de aprender sistemas embebidos? Mis habilidades en C son buenas y quiero ser un ingeniero de software integrado profesional. Compré un kit Arduino y comencé a hacer proyectos, pero fue fácil. No estoy aprendiendo ¿Cuál debería ser el siguiente paso?

¿Qué parámetros son importantes al elegir herramientas de desarrollo (STM32 Nucleo, TI Launchpad, Raspberry, Arduino)?

¿Cuál es el mejor instituto de capacitación integrado en Hyderabad?

¿Existe alguna directriz de programación en el entorno Linux si mi caja Linux a menudo se apaga repentinamente?

¿Los chips Xilinx tienen un modo de bajo consumo o hay alguna forma de eliminar el software o reducir significativamente su consumo de energía al reducir la velocidad del reloj?