2016-09-29 2 views
1

Я хочу, чтобы в моем проекте IAR работала тестовая рама. Процессором является STM32L0.О тестировании целевого модуля для STM32L0x3 с использованием IAR

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

  • https://github.com/cpputest/cpputest следовал turoial на: https://cpputest.github.io/stories.html Не работает, потому что есть только 64K флэш & 8K RAM

    enter image description here

    и его не достаточно для этой структуры

  • 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?

+0

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

ответ

1

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

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

Смежные вопросы