스택 포인터가 올바르지 않은 정렬로 설정됩니다.(STM32)
기술노트 82023
아키텍처:
ARM
컴포넌트:
debugger
업데이트:
2021-06-02 오전 10:45
소개
STM32 디바이스 프로그래밍이 실패하고 다음 메시지가 표시됩니다:
Warning: Stack pointer is setup to incorrect alignment. Stack addr=0xAAAAAAAA
배경
STM32 디바이스는 읽기 보호가 될 수 있습니다. 읽기 보호가 활성화되면, 플래시 메모리의 바이트가 0xAA
로 읽힙니다. Cortex-M 디바이스가 시작되면, 스택 포인터 값을 유지해야 하므로 0x00
~ 0x03
의 바이트가 읽힙니다. 이 경우 값은 유효하지 않은 것으로 간주되는 0xAAAAAAAA
입니다.
해결방법
STM32 디바이스의 플래시를 지워야 합니다. I-jet을 사용하면, C-SPY 매크로 Quicklaunch 창에 있는 C-SPY 매크로로 STM32 디바이스 용 잠금 해제 유틸리티가 제공됩니다. J-Link를 사용하면 arm\bin\JLinkSTM32.exe
를 사용할 수 있습니다.
모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.