반응형

debugging 2

ARM Cortex-M 하드폴트(Hard Fault) 디버깅: 레지스터 추적으로 원인 코드 찾는 법

Quick Summary - For Global DevelopersSymptom: The MCU suddenly stops executing normal code and jumps to an infinite loop inside the HardFault_Handler(), often causing the watchdog timer to reset the system.Cause: Execution of illegal instructions, memory access violations (such as null pointer dereferencing or unaligned memory access), or stacking failures during exception entry.Solution: Trace ..

ESP32 ESP-IDF 실무 최적화 가이드: JTAG 디버깅부터 힙 메모리 모니터링까지

안녕하세요. '소프트웨어 공장' 블로그에 오신 것을 환영합니다. ESP32 마이크로컨트롤러를 활용해 단독형 IoT 장치나 복잡한 통신 게이트웨이를 설계하다 보면, 기능 구현 단계보다 코드가 임의의 시점에 멈추거나 동작 속도가 눈에 띄게 저하되는 런타임 오류를 해결하는 단계에서 더 많은 시간을 허비하곤 합니다. 자원이 제한된 임베디드 아키텍처 환경에서는 보이지 않는 소프트웨어의 버그와 리소스 고갈 문제를 직관적으로 시각화하고 제어할 줄 알아야 제품의 안정성을 담보할 수 있습니다.이를 위해 ESP32 개발 프레임워크인 ESP-IDF는 소스 코드의 실행 흐름을 실시간으로 추적하는 JTAG/GDB 디버깅 인터페이스부터, 연산 병목 구간을 탐지하는 프로파일링 타이머, 그리고 프리RTOS(FreeRTOS) 커널의 ..

반응형