Cómo configurar un marco de compilación con diferentes conjuntos de herramientas de host y destino para TDD incorporado

Deberá administrar varias compilaciones.

  • Construcción de producción utilizando su cadena de herramientas ARM. Supongo que ya tienes esto y está basado en Eclipse.
    • Supongo que continuaría haciendo ediciones en este entorno, pero podría usar cualquier editor que desee.
    • Descubre cómo ejecutar esta compilación desde la línea de comandos
  • Compilación de prueba de unidad fuera del objetivo (ahora)
    • Sugeriría CppUTest sobre CppUnit (pruebas autoinstaladas, detección de pérdida de memoria
    • Cree una compilación de línea de comando, probablemente con un archivo MAKE.
    • Comience con algo pequeño, agréguelo.
    • No deje que Eclipse gestione este archivo MAKE.
    • La prueba fuera del objetivo es realmente importante para obtener el ciclo de retroalimentación rápido y le permite administrar las dependencias en el objetivo y el sistema operativo.
    • Si responde mucho en la sustitución del enlazador, con el tiempo puede necesitar varias compilaciones de prueba de unidad o hacer objetivos.
  • Corredor de prueba de unidad de procesador ARM o en destino (más tarde o tal vez nunca)
    • Construye con tu cadena de herramientas ARM
    • Usar un tablero comercial puede ser mejor para esto que el objetivo real. ¿Por qué?
      • Posible tener más memoria
      • Podría no tener tantos errores como una nueva placa personalizada
    • Por cierto: puede obtener mucha ayuda de TDD fuera del objetivo y nunca ejecutar pruebas unitarias en el objetivo. Por eso considero que este es opcional, aunque es una buena idea.
    • A veces, el tamaño de la memoria limita el tamaño que puede tener el corredor de prueba, por lo que puede necesitar varias de estas versiones
  • Pruebas de integración de hardware
    • Estas pruebas interactúan con el hardware.
    • Usando un marco de prueba de unidad
    • Las pruebas interactúan con los controladores de hardware, etc., no con trozos como pruebas fuera del objetivo
    • Realmente no sé sobre PSoC Creator, pero tal vez podrías ejecutar pruebas contra su modelo de hardware. Será lento, por eso querrá que su sistema de CI los ejecute automáticamente
  • Pruebas de historia / aceptación
    • También puede considerar usar un marco de prueba de aceptación para pruebas de lógica de negocios (Cucumber, Fitnesse)
    • Una vez que tenga una buena base de pruebas unitarias, tendrá muchos puntos de prueba y tendrá la habilidad para comenzar a crear estas pruebas de nivel superior.

Desea que todas estas pruebas se activen a través de la línea de comandos para que pueda permitir que su sistema CI las ejecute siempre que haya un registro. El éxito de una compilación conduciría a la ejecución de la próxima compilación. Por lo general, las compilaciones más rápidas se ejecutan primero.

Espero que ayude. Déjeme saber si usted tiene preguntas.