2016-09-29 1 views
1

IAR 프로젝트에서 테스트 프레임을 사용하고 싶습니다. 프로세서는 STM32L0입니다.IAR을 사용하는 STM32L0x3 대상 유닛 테스트

나는 시도했다 : & 8K RAM

enter image description here

과 그뿐만 아니라 64K 플래시가 있기 때문에 작동하지 않았나요 https://cpputest.github.io/stories.html :

  • https://github.com/cpputest/cpputest는에 turoial를 따라 이 프레임 워크에 충분하다.

  • https://github.com/ThrowTheSwitch/Unity.git IAR Embedded Workbench로 옮겨 봤지만 많은 컴파일러 오류가있어 공간이 부족하여 데스크톱에서 실행하려고했습니다. 이것은 코드에 너무 많은 하드웨어 종속성이 있기 때문에 작동하지 않습니다.

  • 다음으로 켜기/끄기가 가능한 장치 부팅시 테스트 루틴을 넣어 "Pseudo"단위 테스트를 시도했습니다 프리 컴파일러 지시어에 의해. 파일과

    #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 매크로 및 중단 점과 결합하여 하드웨어를 더 시뮬레이션하고 단위 테스트를 구현할 수 있습니다. CSPY 매크로에서 C 함수를 호출 할 수있는 방법이 있다고 생각되지만 실수가있을 수 있습니다 (매뉴얼이없는 경우). – rjp

답변

1

일반적으로 포함 된 대상의 경우에도 '모듈'코드가 데스크톱 대상에 컴파일됩니다. 따라서 모듈을 테스트에 끌어 넣고 하드웨어 특정 모듈을 스텁/모크로 작성합니다.

장치에 테스트 프레임 워크를 넣을 공간이 충분하지 않은 경우 최소한의 것을 찾아서는 안됩니다. 그런 다음 일반 응용 프로그램 코드를 작성하는 것처럼 테스트 프레임 워크없이 응용 프로그램 코드에 테스트를 작성해야합니다.

관련 문제