Unidad de prueba del lenguaje de ensamblaje AVR

10

¿Cómo hace la prueba de unidad del código de ensamblaje?

Estoy trabajando en un servocontrolador en serie como parte de un proyecto de robot hexápodo y el código llegó al punto en el que se está complicando;) De todos modos, estoy acostumbrado a usar pruebas unitarias en mi trabajo diario como C ++ El desarrollador del servidor y, por lo tanto, han estado tratando de aplicar los mismos tipos de pruebas a mi código de ensamblaje AVR. He desarrollado una forma que me funciona bien (consulte here ) pero me interesa si hay herramientas o técnicas estándar que faltan.

Actualizado: Para aquellos de ustedes que estén interesados, la fuente completa del servocontrolador y las pruebas de la unidad ya están disponibles aquí .

    
pregunta Len Holgate

2 respuestas

3

También describiría esto como elegante, pero me gustaría agregar el problema, si me perdonan mi intrusión.

Sé que hay paquetes de software muy costosos para resolver situaciones como esta, pero en la empresa en la que trabajo no podemos pagar el costo a menos que estemos seguros de que hace lo que necesitamos.

Test Driven Development (TDD) es uno de los mejores sistemas de los que he escuchado para el desarrollo, y lo disfruto, pero los problemas que me llevan el tiempo normalmente son causados por interrupciones complejas y eventos de hardware que muchos llamarían fallos. Parece un problema menor tener un problema cada 2 horas cuando las estrellas se alinean, pero si tu teléfono se congela una vez a la semana, maldecirías el nombre de los ingenieros. En nuestro caso, tenemos que entrar en un lote de alimentos cuando las cosas realmente se rompen, lo que, como pueden imaginar, me gusta evitar.

He visto soluciones muy inteligentes para verificar la funcionalidad de los subsistemas, que, si se implementan correctamente, probablemente me ahorrarían 3 horas de una semana laboral de 50 horas, pero si existiera una forma inteligente de encontrar situaciones de falla podría salvarme semanas de trabajo buscando el "error" que ocurre en el campo ocasionalmente bajo una carga pesada.

Es probable que esta publicación no ayude a una gran cantidad, pero creo que traer todo a la luz hace que todo sea más fácil de resolver. Si hubiera un método TDD para encontrar situaciones de falla, podría obtener 10s de miles asignados para pagar por ello. -Max

    
respondido por el Kortuk
2

Interesante. Después de Navidad, estaba pensando en hacer un ensamblador con fotos, cuando tenga un poco más de tiempo, echaré un buen vistazo a tu sistema.

Una forma que podría ver sería escribir un tipo de marco en un lenguaje diferente para crear y derribar los objetos simulados, etc., pero la forma en que se interconectaría con el chip / simulación sería un problema.

Si se vuelve demasiado oneroso, entonces eso superará los beneficios de las pruebas unitarias y también hará que estés menos interesado en usarlo.

    
respondido por el Amos

Lea otras preguntas en las etiquetas