STM32CubeIDE 디버그 콘솔에 printf 출력
- 아래 화면처럼 코드상의 printf 출력이 SWV ITM Data Console 에 출력되게 하기.
코드에서 추가할 사항
프로젝트에 아래 코드 추가.
ITM_SendChar 이 디버그 창에 표현되게 하는 핵심.
#include "stm32l4xx_hal.h" // for ITM_SendChar
int _write(int32_t file, uint8_t *ptr, int32_t len)
{
for(int32_t i = 0; i < len; ++i) {
ITM_SendChar(*ptr++);
}
return len;
}
이후 코드상에서 printf() 호출하면 상기 함수에 의하여 디버그 창으로 출력된다.
디버그 설정
Debug Configuration 에서 아래 체크 한것처럼 설정하고, Core Clock 에는 해당 칩이 구동되는 클럭 주파수 (MHz 단위)으로 기록한다.
디버그 모드에서 설정
메뉴 Window 에서 아래 체크한것 클릭하여 콘솔창(SWV ITEM Data Console)이 보이게 한다.
디버그 화면에 SWV ITM Data Console 보인다(아래 화면 ).
Console 창의 설정 (위 그림의 아이콘 ) 클릭하여 뜬 창에서
ITM 활성포트에 0을 선택하고, PC 샘플링 활성화 한다.
이후 코드에서 printf 의 출력은 콘솔에 보인다.
연관
디버그 모드에서 파형으로 전역변수값을 모니터링 가능하다.
첫 등록 : 2023.07.17
최종 수정 : 2023.08.16
단축 주소 : https://igotit.tistory.com/4721
'임베디드.일렉트로닉스 > STM32' 카테고리의 다른 글
STM32 . i2c DMA (0) | 2023.07.27 |
---|---|
STM32CubeIDE . 프로젝트 복사하여 다른 이름 새 프로젝트 만들기. (2) | 2023.07.16 |
STM32 USB DFU . STM32CubeProgrammer 이용 가능 (0) | 2023.07.15 |
STM32CubeIDE . Debug . SWV 활성화 . 데이터 그래프로 보기 (0) | 2023.07.14 |
STM32CubeIDE . 오류 해결 . Debug . No source available for "main() at 0x8000262" (0) | 2023.07.14 |
댓글