Pregunta

Esto sigue a un par de otro questions (pero creo que he refinado mejor mi pregunta).

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 cargar (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, lo haría usando cppunit (por ejemplo). Pero estoy un poco perdido con esta cosa del firmware.

¿Alguna idea?

Gracias

¿Fue útil?

Solución

Bueno, es difícil de decir sin saber cómo está diseñado su código, pero básicamente podría probar el software a nivel de clase / función al igual que otro software. Cualquier código que interactúe con el dispositivo probablemente deba probarse mediante emulación.

Otros consejos

No creo que la respuesta marcada como "correcta" es correcto o completo.

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

  1. Pruebas iniciales realizadas con 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 prueba. Es decir, prueba en el dispositivo real, pero con hardware adicional (es decir, osciloscopio, sondas) y otras conexiones para permitir el seguimiento / depuración adecuado 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 está en el hardware real. En el peor de los casos, el acto real de sondeo puede alterar los tiempos de modo que los errores no aparezcan, solo en la "producción". versión. Entonces te diviertes de verdad.

Saludos,

-Richard

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

Deberías probar tus clases lo más que 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 tu dispositivo. Luego, cuando esté escribiendo una función, tenga una forma para que su interfaz de depuración llame a los métodos en su clase, de esa manera puede probar específicamente su código en el dispositivo mismo.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top