我正在尝试更改用户应用程序的STACK位置。在我的系统中,用户应用程序有自己的RAM部分(数据+堆栈),链接器将STACK放在用户RAM部分的末尾。 但我需要把STACK放在开头而不是结束。
我正在使用Keil uVision IDE并且startup.s文件和startup.s文件没有提供任何更改STACK位置更改位置的选项,可能是链接器隐藏它
Stack_Size EQU 0x00000200
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
可以将STACK定位在特殊地址中,特别是在RAM部分的开头?
感谢。
答案 0 :(得分:0)
如果我使用分散文件创建RAM两个区域,并且如果我将*(STACK)指令放到第一个区域,则看起来没问题,并且STACK位于用户RAM的启动位置。目前,它解决了我的问题,但可能存在更好的解决方案。 谢谢。
DocumentId