Я хочу, чтобы в моем проекте IAR работала тестовая рама. Процессором является STM32L0.О тестировании целевого модуля для STM32L0x3 с использованием IAR
Что я пробовал:
https://github.com/cpputest/cpputest следовал turoial на: https://cpputest.github.io/stories.html Не работает, потому что есть только 64K флэш & 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?
IAR EWARM имеет симулятор ARM. Это сочетается с некоторыми макросами CSPY и точками останова, и вы можете дополнительно имитировать оборудование и выполнять модульные тесты. Я считаю, что у них есть способ вызвать C-функции из макросов CSPY, но я могу ошибаться (у вас нет ручного управления). – rjp