testing firmware

testing - Prueba de firmware



(4)

Esto sigue un par de otras preguntas (pero creo que he refinado mi pregunta mejor).

Quiero probar mi código de firmware antes de poner el dispositivo.

Me doy cuenta de que mucha gente escribe su código, carga, prueba, etc. Pero realmente quiero escribir y probar antes de subir (principalmente porque quiero automatizar los muchos escenarios).

Entonces, ¿cuál es la mejor manera de hacer esto? Si estuviera escribiendo software puro, como en, sin firmware en absoluto, lo haría usando cppunit (por ejemplo). Pero estoy un poco perdido con esta cosa de firmware.

¿Algunas ideas?

Gracias


Bueno, es difícil de decir sin saber cómo está diseñado su código, pero básicamente podría probar el software en el nivel de clase / función al igual que otro software. Cualquier código que interactúe con el dispositivo probablemente necesite ser probado a través de emmulation.


Muchos dispositivos integrados tienen simuladores de software disponibles, pero eso depende del dispositivo.


No creo que la respuesta marcada como "correcta" sea correcta o completa.

Para el código de firmware, realmente DEBE realizar una prueba doble para ser riguroso.

  1. Pruebas iniciales hechas usando un emulador. Esto es ideal pero supone que puede obtener un buen emulador para la plataforma de destino.

  2. Prueba en el hardware real, pero en un marco de cama de prueba. Es decir, prueba en el dispositivo real, pero con hardware adicional (es decir, osciloscopio, sondas) y otras conexiones para permitir el rastreo / la depuración correctos de lo que está sucediendo.

Con el firmware, a menudo los errores más difíciles están relacionados con el tiempo y solo aparecen una vez que se encuentra en el hardware real. En el peor de los casos, el acto real de sondeo puede alterar los tiempos de manera que los errores no aparezcan, solo en la versión de "producción". Entonces te divertirás mucho.

Aclamaciones,

-Ricardo


Debes probar tus clases unitarias tanto como puedas, pero al final del día, debes ejecutarlo y probarlo en el hardware.

Para probar su firmware en un dispositivo, escriba una interfaz de depuración para que pueda usar un emulador de terminal como procomm para hablar con su dispositivo. Luego, cuando esté escribiendo una característica, tenga una manera para que su interfaz de depuración llame a los métodos de su clase, de esa manera puede probar específicamente su código en el dispositivo.

Una vez que haya hecho eso, puede escribir scripts en su emulador de terminal para hacer las pruebas automáticamente.