#define G_STR_TAG (*(volatile struct g_str_tag *) 0xAAAAA000UL)

typedef unsigned int uint32_t;
typedef volatile uint32_t vuint32_t;

struct g_str_tag {
        union {                  
            vuint32_t Reset;
            struct {
                vuint32_t CLOSE:1;

            } AA;
        } TMP;
}; 
void testMe (void)
{
	while( 0 == (G_STR_TAG.TMP.AA.CLOSE  )
	{
		;
	}
}

   


위 testMe() 함수에 대한 테스트를 진행하기 위해서는 아래의 가상 메모리 설정 추가와  while() 문에서 사용하신 조건

(*(volatile struct g_str_tag *) 0xAAAAA000UL).TMP.AA.CLOSE  에 대한 입력을 하시면 될 것 같습니다.

 

1. 가상 메모리 설정 방법

창 - 환경설정 - 테스트 - 가상 메모리 주소 메뉴에서 [추가] 버튼을 이용해 사용하신 주소 범위를 입력한다.



2. 프로젝트 특성 - 테스트 - 가상 메모리 주소 메뉴에서 위 입력한 가상 주소를 선택한다.


3. testMe_test 의 테스트 정보 탭에서 함수 호출 전 코드에 아래와 같이 해당 변수에 값을 받을 수 있는 CS_UINT_INPUT 매크로를

사용하여 값을 입력합니다.

(*(volatile struct g_str_tag *) 0xAAAAA000UL).TMP.AA.CLOSE = CS_UINT_INPUT(unsigned int,"G_STR_TAG.TMP.AA.CLOSE" );


4. 테스트 케이스에 추가한 입력 변수 G_STR_TAG.TMP.AA.CLOSE 에 0 과 1을 각각 입력 한다.


5. 실행 - [재빌드 후 유닛테스트 실행] 버튼을 클릭하여 다시 수행한다.