개발환경 팁/강좌

Truestudio에서 SWV로 printf 확인

plainy 2 6,710 2018.04.26 11:11

Truestudio에서 SWV를 사용하여 printf를 확인하는 방법입니다.

 

먼저 STM32CubeMX에서 Clock을 확인합니다.

SWV를 사용하기 때문에 정확한 Clock을 사용하여야 합니다.

그렇지 않을 경우 Data가 깨져서 출력되거나 표시되지 않습니다.

a4757c6a18b4d82cbc418a51dfb355c6_1524708134_0883.png
 

메뉴에서 아래 버튼을 눌러 Configure Debug로 진입합니다.

a4757c6a18b4d82cbc418a51dfb355c6_1524708233_0619.png
 

디버그 구성화면에서 아래와 같이 SWD와 SWV를 활성화 합니다.

Core Clock은 STM32의 Clock을 정확히 설정합니다. 

a4757c6a18b4d82cbc418a51dfb355c6_1524708134_4217.png

 

 

printf를 SWV로 출력하기 위해 syscall.c의 _write함수를 변경해야 합니다.

_write함수를 변경하기 위해 syscall.c를 추가합니다.

a4757c6a18b4d82cbc418a51dfb355c6_1524708135_0091.png 

a4757c6a18b4d82cbc418a51dfb355c6_1524708135_1254.png
a4757c6a18b4d82cbc418a51dfb355c6_1524708135_2349.png

 

syscall.c에서 아래와 같이 ITM_SendChar함수를 추가합니다.

이는 printf의 출력을 SWV로 보내기 위함입니다.

a4757c6a18b4d82cbc418a51dfb355c6_1524708135_6921.png 

 

include에 STM32의 HAL header파일을 추가합니다.

a4757c6a18b4d82cbc418a51dfb355c6_1524708135_8034.png 

 

 

printf구문을 사용합니다.

a4757c6a18b4d82cbc418a51dfb355c6_1524708135_9103.png 

 

디버그창에서 printf의 출력을 확인하기 위해 SWV콘솔을 사용합니다.

a4757c6a18b4d82cbc418a51dfb355c6_1524708136_1865.png 

 

 

SWV콘솔에서 ITM0를 추가합니다.

 

a4757c6a18b4d82cbc418a51dfb355c6_1524708136_2935.png

 

a4757c6a18b4d82cbc418a51dfb355c6_1524708600_7828.png

 

 

SWV콘솔에서 Port0에 ITM Port 0를 연결합니다.

a4757c6a18b4d82cbc418a51dfb355c6_1524708600_8924.png
a4757c6a18b4d82cbc418a51dfb355c6_1524708601_4515.png
 

Start Trace를 클릭하면 SWV콘솔에 Data가 출력됩니다.

 

a4757c6a18b4d82cbc418a51dfb355c6_1524708601_5623.png
a4757c6a18b4d82cbc418a51dfb355c6_1524708601_6661.png

 

 

Comments

nano 2018.08.21 19:50
댓글내용 확인
plainy 2018.08.26 03:44
STM32L053에서는ITM을 지원하지 않기 때문에 사용이 불가능합니다.
STM32L053의 Reference Manual에서 Debug support를 보시면 ITM이 없는 것을 확인할 수 있습니다.
번호 제목 글쓴이 날짜 조회 추천
열람중 Truestudio에서 SWV로 printf 확인 댓글+2 plainy 2018.04.26 6711 0
4 STM32CubeMX를 최신 Version으로 Update 방법 plainy 2017.04.28 3489 0
3 STM32 CubeMX Library 설치 plainy 2017.04.28 4916 0
2 STM32 CubeMX Eclipse Plugin 설치하기 plainy 2017.04.28 4104 0
1 STM32 CubeMX Standalone 설치하기 plainy 2017.04.28 5747 1
Category
Facebook Twitter GooglePlus KakaoStory NaverBand