在IAR下如何查看工程的堆栈(STM32)

在IAR下编程,难免少不了要跟堆栈打交道,但是打交道之前也要知道堆栈的大小,以及堆栈的位置在哪里?

Options->Linker->Overridde default->Edit查看芯片的堆栈大小


这里可以看到我们使用的堆栈的大小都是0x800(2K)大小。如果想修改堆栈的大小,可以在这里修改,然后保存到工程目录下即可。

那如何查看堆栈在SRAM中的位置呢?

首先设置Options->Linker->List,将Generatee linkeer map file勾选上。

编译一下,在工程目录的output文件夹下就出现了.map的文件。

在文件中我们可以看到一下分配信息。

可以看到堆栈都在"P2"中,我们向下拉,找到"P2"

找到了堆栈信息,可以看到栈的起始位置为0x20002118到0x20002918,2K的大小。

堆的起始地址为0x20002918到0x20003118,2K到的大小。跟在工程中看到的是一样的。

发布了7 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_26226375/article/details/80826467