디버거 관련하여 질문있습니다.
4
1 asked
9.Micro-controller & Debugger 선택하기 강의를 보고 질문드립니다.
디버거가 어떤 원리나 방식으로 메인 Micro-controller를 디버깅하는 지 궁금합니다.
비용 측면에서 디버거로 MCU를 사용하면 부담이 될 수도 있겠다는 생각이 들었는데,
MCU를 사용하지 않고 디버깅을 하는 방법이 있는지 궁금합니다.
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. ArcStro님.
디버거는 주로 메인 마이크로컨트롤러(MCU)와 연결하여 코드 실행 상태를 모니터링하고, 오류를 추적하며, 코드 라인별로 실행을 제어할 수 있도록 도움을 주는 장치입니다. 기본적으로 디버거는 JTAG(또는 SWD) 인터페이스를 통해 MCU와 통신하며, 다음과 같은 방식으로 동작합니다:
브레이크포인트 설정: 디버거는 코드 중단점(브레이크포인트)을 설정하여 코드 실행을 특정 지점에서 일시중지할 수 있도록 합니다. 이를 통해, 개발자는 코드의 특정 부분을 자세히 검사할 수 있습니다.
실행 제어: 한 줄씩 코드를 실행하거나(스텝 인/스텝 오버), 특정 조건이 충족될 때까지 코드 실행을 계속하는 방식으로 디버깅할 수 있습니다.
상태 관찰: 메모리 값, 변수 상태, 레지스터 값 등을 실시간으로 감시할 수 있어 문제 원인을 파악하는 데 큰 도움을 줍니다.
프로그램 로드 및 다운로드: 디버거는 컴파일된 바이너리 파일을 MCU에 다운로드하여 실행할 수 있으며, 펌웨어 업그레이드 작업도 수행합니다.
STM32 제품군 외에도 다양한 디버깅 도구가 있습니다. 예를 들어, Segger의 J-Link, P&E의 BDM 디버거, Atmel의 AVR 드래곤, Microchip의 MPLAB ICD 등이 있으며, 각 툴은 특정 MCU 및 프로세서 아키텍처에 맞춰 사용됩니다.
다양한 디버깅 도구는 각기 다른 특징과 상태 모니터링 기능을 제공할 수 있으며, 다소 복잡한 시스템에서는 여러 디버깅 인터페이스가 사용되기도 합니다. 이러한 도구는 각 에코시스템에 맞춰집니다.
관련해서 도움이 될 수 있는 유사 질문을 다음에서 확인하실 수 있습니다:
- STM32F103 schematic-Debugging pin 설계 강의 질문 : STM32 디버깅 관련하여 구체적인 설명이 포함되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
Biasing 저항
0
31
2
CH340 전원 연결
0
32
1
MOSFET pull down 저항의 필요성
0
43
2
21번 INT pin 풀업 저항
0
69
2
전력 산출하는데 이해가 안가요?
0
56
2
수강연장
0
60
2
강의수강 만료일 연장 신청
0
54
2
강의 질문
0
94
2
RJ45 library 누락
0
74
2
강의 만료 확인 요청
0
71
2
JTAG 통신 질문
0
77
1
GND 오류
0
80
2
프로젝트 주제
0
82
1
45강 UART, TTL 질문
0
87
1
발열에 의한 LDO의 드롭아웃 전압 상승
0
110
2
I2C 통신 방식
0
143
2
라우팅 질문
0
92
2
kicad 라이브러리 추가 방법
0
384
2
VIa에 GND 항목이 없습니다.
0
103
2
디버거를 디버깅하려면
0
115
2
강의 연장
0
117
2
via 관련 질문드립니다.
0
77
1
32강 ERC에러
0
91
1
페라이트 비드 관련 질문드립니다.
0
119
2

