10 votos

Pruebas de unidad AVR lenguaje ensamblador

¿Cómo se prueba la unidad de su código de ensamblado?

Estoy trabajando en una serie controlador de servos como parte de un robot hexápodo proyecto y el código que se ha llegado al punto donde cada vez es complicado ;) de todos Modos, estoy acostumbrada a usar pruebas de unidad en mi trabajo diario como C++ desarrollador del servidor y por lo que han estado tratando de aplicar el mismo tipo de pruebas a mi AVR código de la asamblea. He trabajado de una manera que funciona bien para mí (ver aquí), pero me interesa si hay alguna norma de las herramientas o técnicas de que me estoy perdiendo.

Actualización: Para aquellos de ustedes que están interesados en el código fuente completo para el controlador de servos y la unidad de pruebas, ahora están disponibles aquí.

10voto

svec Puntos 2050

Interesante. Después de la Navidad, he pensado en mirar en hacer algo de Ensamblador con Fotos, cuando tengo un poco más de tiempo voy a tener un buen vistazo a su sistema.

Una manera en que yo podría ver sería la secuencia de comandos de algún tipo de marco en un idioma diferente para crear y derribar el simulacro de objetos, etc, pero, ¿cómo sería la interfaz de este al chip/simulación sería un problema.

Si llega a ser demasiado onerosa, aunque, a continuación, que serán mayores que los beneficios de la prueba de unidad y también hacer que usted menos dispuesto a usarla.

0voto

Dan Puntos 12178

También me gustaría describir esto como elegante, pero quisiera agregar el problema, si se le perdona mi intromisión.

Sé que hay son muy caros paquetes de software para el trabajo a través de situaciones como esta, pero en la empresa que yo trabajo en el que no podemos pagar el costo a menos que esté seguro de que no lo necesitamos.

Test Driven Development(TDD) es uno de los mejores sistemas que he escuchado de desarrollo, y la disfruto, pero los problemas que tomar mi tiempo son normalmente causadas por el complejo de interrupción de hardware y eventos que muchos denominan fallos. Parece una cosa de menor importancia de tener un problema cada 2 horas cuando las estrellas se alinean, pero si su teléfono sólo se congeló una vez a la semana,que iba a maldecir a los ingenieros de nombre. En nuestro caso, hemos de investigar en un feed lot cuando las cosas realmente se rompa, lo que, como puedes imaginar, me gustaría evitar.

He visto muy de soluciones inteligentes para la comprobación de la funcionalidad de los subsistemas, que, si se implementan adecuadamente, probablemente me salve de 3 horas de un 50 horas a la semana, pero si hay una forma inteligente de encontrar glitch situaciones me ahorraría semanas de trabajo en busca de la "bug" que sucede en el campo de vez en cuando bajo carga pesada.

Este post probablemente no ayuda a una gran cantidad, pero me parece que traer todo a la luz hace que todo sea más fácil de resolver. Si hubo un TDD método para encontrar glitch situaciones, podría tener a 10s de miles asignados a pagar por ello. -Max

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X