사용자 응용 프로그램의 스택 위치를 변경하려고합니다. 우리 시스템에서는 사용자 애플리케이션이 자체 RAM 섹션 (Data + Stack)을 가지고 있으며, 링커는 사용자 RAM 섹션의 끝에 STACK을 놓는다. 하지만 끝 대신에 STACK을 넣어야합니다. 내가 변경 스택 위치의 위치를 변경할 수있는 옵션을 제공하지 않습니다 Keil의 uVision IDE와의 Startup.s 파일의 Startup.s 파일 함께 일하고Startup.s 파일의 Cortex M3 스택 위치 변경
는, 아마도, 링커는
Stack_Size EQU 0x00000200
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
그것은 가능하다 숨 깁니다 특별 주소 또는 특히 RAM 섹션의 시작 부분에서 스택을 찾으십니까?
감사합니다.
링커 스크립트의 모양은 무엇입니까? 스택 섹션의 주소가 지정되는 곳이 아닙니까? –
불행히도 uVision Project에는 링커 스크립트가 없습니다. 링커 스크립트는 GCC 컴파일러/링커와 함께 사용해야합니다. 난 그냥 startup.s 파일을 제공합니다. – muratcakmak
나는 uVision이 어떻게 작동하는지 모르겠다 고 고백하지만, 어디 론가, 어떻게 든 링커는 어떤 것들이 메모리에 위치해야 하는지를 말해야 만한다. –