이 문서에서는 STM32 계열의 타깃에 대해 STM32cubeIDE를 사용하여 타깃 테스트를 진행하는 방법에 대해 서술합니다.

적용 예시 환경은 다음과 같으며, ST-Link 디버거를 사용하였습니다.

타깃 테스트 적용 및 실행 순서

1. 타깃 환경 설정

- [프로젝트 우클릭] -> [특성] -> [타깃 테스트] -> [타깃 환경] 설정에서 분석 탭만 작성하여 적용 후 닫기를 합니다. 해당 타깃 테스트 문서는 수동 빌드 방식으로 진행되어 다른 탭들은 테스트에 영향을 미치지 않습니다.

2. [타깃 테스트 케이스 실행] 메뉴로 테스트 케이스 단위 실행

- 정확한 테스트를 위해 테스트 케이스 단위로 실행합니다.


- 1,2번 내용을 거치면 Controller Tester의 프로젝트가 위 상태처럼 잠기게 됩니다.

3. STM32cubeIDE에서 프로젝트 clean, build

- 내보내기 된 코드를 STM32cubeIDE에서 clean 후 build합니다.

4. STM32cubeIDE에서 Debug

- build가 정상적으로 되었다면, debug를 실행합니다.

5. return 0;에 break point 설정 후 실행

- 시작 지점은 cs_tfx.c의 main 입니다. testrun();이 끝나는 시점인 return 0; 앞에 break point를 걸어줍니다.

6. ct_target_log expression 뷰에서 로그 확인

- expression 뷰에서 Add new expression을 클릭하여 로그 인터페이스에 작성한 로그를 담고 있는 배열(ct_target_log)을 추가합니다.


- 이와 같이 ct_target_log의 내용을 확인할 수 있습니다.

7. CSET#으로 끝나는 지 확인(정상 테스트 수행 여부)

- log의 마지막 부분이 CSET#으로 종료되어야 정상적으로 테스트가 종료되었다고 판단할 수 있습니다. 따라서 expression 뷰에서 테스트의 정상 실행 여부를 한 번 확인할 수 있습니다.

8. 메모리 뷰에서 모니터 메모리에 ct_target_log 추가

- 메모리 덤프를 위해 memory 뷰에서 Moniters에 +을 클릭하여 ct_target_log를 추가합니다.

9. 메모리 뷰에서 Controller Tester 프로젝트의 로그 경로로 내보내기 / 경로에 정상적으로 파일 생성되었는지 확인

- 메모리 뷰에서 export 버튼을 눌러 ct_target_log의 메모리를 파일로 내려받습니다.
- Format은 RAW Binary, Start address는 expression 뷰의 ct_target_log 시작 주소, Length는 ct_target_log의 배열 크기를 지정합니다. (로그의 길이가 Length보다 짧아도 테스트에 영향을 주지 않습니다.)


- 지정한 경로에 파일이 정상적으로 만들어졌는 지 확인합니다.

10. Controller Tester에서 코드 복원

- 타깃 테스트 로그를 가져오기 위해 Controller Tester에서 코드를 복원합니다.

11. 타깃 테스트 로그 가져오기 -> 로그파일 경로로부터 가져오기 -> 완료

- [타깃 테스트 로그 가져오기] -> [로그 파일로부터 가져오기]를 선택합니다.


- 9번에서 생성된 파일을 가져옵니다.


- 테스트 케이스가 성공적으로 수행되어 커버리지가 측정되었음을 확인할 수 있습니다.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.