Тестирование целевого модуля для STM32L0x3 с использованием IAR

#c #unit-testing #testing #stm32 #iar

#c #модульное тестирование #тестирование #stm32 #iar

Вопрос:

Я хочу, чтобы в моем проекте IAR работал тестовый фрейм. Процессор является STM32L0.

Что я пробовал:

  • https://github.com/cpputest/cpputest последовал за туройалом по адресу : https://cpputest.github.io/stories.html Не сработало, потому что есть только 64K Flash и 8K RAM

    введите описание изображения здесь

    и этого недостаточно для этой платформы

  • https://github.com/ThrowTheSwitch/Unity.git Я попытался встроиться в IAR Embedded workbench, но из-за множества ошибок компилятора также не хватило места, поэтому я попытался запустить его на своем рабочем столе. Это не работает, потому что в коде слишком много аппаратных зависимостей..

  • Затем я попытался просто выполнить «псевдо» модульное тестирование, запустив процедуру тестирования при загрузке устройства, которую можно включать и выключать директивами прекомпилятора.

Вот так (не закончено):

 #if PREFORM_TESTS
    TEST_run();
#endif  
  

А затем с файлами:

 #include "testAll.h"
#include "testEvent.h"
#include "stm32l0xx_hal.h"

void TEST_run(){
  TEST_EVENT_run();
}
void assert_failed(uint8_t* file, uint32_t line){
  while(1);  
}

#include "testEvent.h"
#include "testAll.h"
#include "event.h"
#include "stm32l0xx_hal.h"

void test_add_event();

void TEST_EVENT_run(){
    test_add_event();
}

void test_add_event(){
  ASSERT(1); 
}
  

Как я могу запускать модульные тесты на моем STM32L0x3?

Комментарии:

1. В IAR EWARM есть симулятор ARM. Это в сочетании с некоторыми макросами и точками останова CSPY позволяет дополнительно моделировать аппаратное обеспечение и внедрять модульные тесты. Я полагаю, что у них есть способ вызывать функции C из макросов CSPY, но я могу ошибаться (у меня нет под рукой руководства).

Ответ №1:

Как правило, даже для встроенных целевых объектов «модули» кода компилируются на вашем целевом компьютере. Таким образом, вы бы вставили модули в свои тесты и отключили / смоделировали аппаратные средства.

Если на устройстве недостаточно места для размещения платформы тестирования, то, возможно, вам не следует (или найдите более минимальную). Затем вам придется писать свои тесты в коде приложения без среды тестирования, как если бы вы писали обычный код приложения.