반응형
스택 포인터 구하는 C 코드는 다음과 같다.
void print_stack_pointer()
{
void* p = NULL;
printf("%p", (void*)&p);
}
함수가 실행되어 지역변수가 선언되면 void 포인터 p가 스택에 저장된다.
&p는 포인터가 저장된 주소이다. 즉, 포인터 p가 저장된 스택의 주소이다.
위와 같은 코드는 MCU 종류와 상관없이 사용할 수 있다.
보통 스택 포인터를 구하기 위해 asm 문으로 sp 레지스터를 읽는데, 위와 같은 코드는 훨씬 쉽고 간결하게 스택 포인터를 구할 수 있다.
반응형
'전자 > 임베디드 시스템' 카테고리의 다른 글
임베디드 시스템 프로그래밍 언어 순위 (2023) (0) | 2023.01.26 |
---|---|
라즈베리파이 CMake 설치 방법 (0) | 2022.11.14 |
임베디드 보드 이더넷 통신 구현 (1) | 2022.10.15 |
이더넷 통신 IC W5100 (0) | 2022.10.15 |
AT91SAM7X256 스펙 (0) | 2022.10.14 |
댓글