KEIL查看ARM-Cortex M架構soc的內核寄存器之 MSP


  

參考下圖stm32l475的參考手冊:

MSP指向地址基地址為0x20000000的內存處。參考STM32L475的memory map可知MSP指向的是SRAM的一塊地址。並且由上面的編譯信息可知,偏移量是0x480, 正好等於 RW-data + ZI-data 的值。

 參考下圖的內存模型:

可知MSP指向的是內存中bss段的最上方。

 

影響ZI-data值的因素:

影響ZI-data值的因素:

一是Stack_Size的值;   注意,Stack_Size增加1,ZI-data會增加4,因為當前是32位處理器。

二是Heap_Size的值(這個有前提條件:必須在程序中確確實實使用了malloc,否則會被編譯器優化,不會把單片機啟動匯編文件設置的Heap_Size計算入ZI-data。在上圖中,程序中不使用malloc,ZI-data的值是1192。使用malloc申請了10個int對應的內存后,ZI-data多占用了512字節的內存空間。 這512字節的內存空間恰好就是我們設置的0x200大小的Heap_Size。)

 

其他驗證渠道:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM