임베디드

STM32 fputc를 이용한 printf 사용시 BKPT 0xAB 에서 멈춤

롬돌이 2024. 9. 9. 18:33
반응형
반응형

간만에 STM32를 이용해서 프로젝트 진행 중인데...설정 부분이 많이 헷갈린다.

디버그 포트 설정에서 한 참 고전을 면치 못했고, 이제는 printf에서 문제가 발생했다.

예전에는 

int fputc(int ch, FILE *f)
{
uint8_t temp[1] = {ch};
HAL_UART_Transmit(&huart1, temp, 1, 2);
return ch;

}

를 main 위에 넣어주고 사용해서 잘 됐는데

 

오늘 다시 하니까 PC 0x0800041C에서 BKPT 0xAB 라는 문구에서 브레이크가 걸린다.

아래에서 printf를 삭제해주면 사라진다.

이게 뭐지??어떻게 해결해 줘야하나???

 

Keil의 Manage Run-Time Environment에서

Compiler->I/O->STDIN, STDOUT을 ITM으로 설정해 주니까 정상동작한다.

 

이건 뭔지는 다음에 좀 더 확인해 봐야겠다.

 

 

반응형