본문 바로가기
전자/임베디드 시스템

UART 사용할 때 흔한 버그 (펌웨어 디버깅)

by Begi 2023. 2. 22.
반응형

몇 개월 동안 잘 동작하던 보드를 오늘 파워을 켜는데 부팅이 제대로 되지 않았다.

 

UART 디버그 포트를 꽃아 확인을 하려 하니 정상적으로 부팅되었다. UART 디버그 포트를 빼면 부팅이 되지 않고 UART 디버그 포트르 꽂으면 정상 부팅되었다. 몇 개월 동안 계속해서 UART 디버그 포트를 연결하고 시험하여 UART 디버그 포트를 빼고 부팅을 해보지 않았다.

 

UART 입력이 인터럽터를 발생시키는데 UART 입력에 풀업이 되어 있지 않았다. 그래서, 부팅시 인터럽터가 계속 발생하여 제대로 동작하지 않은 것 같다. MCU 내부 풀업 저항을 Enable 시키니 문제가 해결되었다.

 

UART에 풀업을 하지 않아 발생하는 문제는 원인을 찾기가 생각보다 까다롭다.

 

몇 년 전에도 UART에 풀업을 하지 않아 발생한 문제를 찾는데 꽤 많은 시간을 보냈는데 같은 문제를 다시 겪었다. UART에 풀업 저항을 빼먹는 일은 생각보다 많이 일어난다.

 

반응형

댓글