日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年01月09日(星期四)

正在發(fā)生

2020年01月09日 | STM32堆棧整理

發(fā)布者:beup001 來源: eefocus關鍵字:STM32  堆棧  編譯 手機看文章 掃描二維碼
隨時隨地手機看文章

STM32的堆棧大小在官方文件已經定義好了,分別是: 

Heap_Size EQU 0x00000200 一共512字節(jié) 

Stack_Size EQU 0x00000400 一共1K字節(jié) 

/***********************************************************************************/ 

但是STM32在keil環(huán)境下每次編譯后的堆棧起始地址并不是固定的(就算事先已經定義好了堆棧的大小),因為棧的起始地址是由用戶程序中事先定義好的變量數(shù)目決定的(實測是如此)。但欣慰的是,一旦這次編譯之后,堆棧的首地址就不會再發(fā)生改變了,換言之,就是在燒完程序之后,堆棧的地址就永遠不變了。 

/***********************************************************************************/ 

要關心STM32的堆棧關系,首先無法避免的就是下面這兩幅圖片了: 

 這里寫圖片描述 
這里寫圖片描述

圖一:MDK環(huán)境下,STM32 Bulid Output窗口部分截圖 

圖二:MDK環(huán)境下,STM32的.map文件中關于堆棧地址的說明(綠色高亮部位) 

/***********************************************************************************/ 

STM32的內部sram的首地址為0x20000000,圖二中的__initial_sp既為棧的高地址(也就是棧的首地址)(STM32的堆棧地址在MDK下的配置默認是連續(xù)的,棧的地址高于堆的地址,棧的生長方向為從高地址向低地址生長,棧的地址為從低地址向高地址生長,最后兩者生長到了一起,也就是“頭碰頭”)圖二中的HEAP既為堆的低地址,STACK既為最后頭碰頭的地址(注意并不是棧的起始地址而是結束地址,因為棧相對于堆是逆向生長的) 

/***********************************************************************************/ 

那么問題來了,__initial_sp的值是怎么來的呢?這就要看圖一了。 

首先拋出結論:__initial_sp = 0x20000000+RW+ZI 

RW:Read/Write 可讀可寫的數(shù)據(jù)段。就是那些在任務初始化時就已經被賦值了的變量,MDK一般將這種類型的數(shù)據(jù)保存在STM32的SRAM中。(“全局變量”存在“普通意義上的”SRAM 中)(“局部變量”存儲在“?!敝校ā熬植康膕tatic變量”在存儲上等價于全局變量) 

ZI:Zero Initial 初始化為0的變量,也就是直接初始化并沒有賦值的變量


可以這么認為:在STM32的片內SRAM中,__initial_sp-0x20000000為用戶已經使用了的SRAM空間,從高地址到低地址依次為“棧Stack”“堆Heap”“全局變量” 

/***********************************************************************************/ 

至此,圖二中綠色高亮部分的STACK和HEAP的數(shù)值也就不難理解了 

STACK = __initial_sp - 0x400(棧的大?。?nbsp;

HEAP = STACK - 0x200(堆的大?。?nbsp;

/***********************************************************************************/


關鍵字:STM32  堆棧  編譯 引用地址:STM32堆棧整理

上一篇:STM32的啟動堆棧初始化
下一篇:stm32 ADC理解

推薦閱讀

  在武漢,隨著巨頭的接連布局,一個全球優(yōu)良的顯示產業(yè)發(fā)展生態(tài)正在冉冉升起,擁有眾多領頭企業(yè)的光谷將開啟柔性屏時代。下面就隨嵌入式小編一起來了解一下相關內容吧?! ∪嵝云聊挥址Q為OLED,與傳統(tǒng)液晶顯示屏相比,柔性屏幕具有低電耗、高亮度、色彩豐富、更輕薄、能彎曲等特點。作為電視顯示行業(yè)的新一代技術,未來的OLED柔性屏市場發(fā)展更快,而產...
集微網消息,根據(jù)SEMI 2018年中國半導體硅晶圓展望報告(SEMI’s 2018 China Semiconductor Silicon Wafer Outlook report),中國計劃在2017年至2020年間建立一個強大、自給自足的半導體供應鏈,計劃實施比世界上任何其他地區(qū)更多的新Fab廠項目,擴大Fab廠產能。中國的Fab廠產能預計將從2015年的每月230萬片(Wpm)到2020年的400萬片,每年12%的...
3D深度傳感器可以實現(xiàn)可靠的人臉識別、改進的照片功能和真實的增強現(xiàn)實體驗,在智能手機以及依賴于精準的3D圖像數(shù)據(jù)應用中,發(fā)揮著關鍵作用。英飛凌科技股份公司與專注軟件和3D飛行時間系統(tǒng)領域的pmdtechnologies 股份公司攜手開發(fā)出了全球體積最小、功能最強大的3D圖像傳感器,目前正在拉斯維加斯國際消費電子展(CES)上展出。這款全新的REAL3?單芯片解...
1月8日,??低暟l(fā)布公告稱,擬將其控股子公司螢石網絡整體變更為股份有限公司后,分拆至科創(chuàng)板上市。本次分拆完成后,??低暪蓹嘟Y構不會發(fā)生變化,且仍將維持對螢石網絡的控股權。資料顯示,??低暤闹黧w業(yè)務是為公共服務領域用戶、企事業(yè)用戶和中小企業(yè)用戶提供以視頻為核心的智能物聯(lián)網解決方案和大數(shù)據(jù)服務。截至本預案公告日,中電??党钟泻??..

史海拾趣

問答坊 | AI 解惑

關于ICD2.5的問題

ICD2.5中,PIC16F877的4腳(RA2)和7腳(RA5)應該有幾種狀態(tài)?我的RA5始終高,而RA2始終低,就是找不到目標。誰知道是怎么回事?…

查看全部問答∨

關于AODV-UU-0。9。5的安裝問題~

我的內核版本是ubuntu2。6。28的,如何在上面安裝aodv協(xié)議阿~小弟剛起步~希望能給點詳細幫助~…

查看全部問答∨

開發(fā)過WiFi的大蝦進來聊

正在開發(fā)WiFi的模塊,感覺代理和原廠都好牛氣啊, 代理都沒FAE,原廠的FAE根本就不理, 找過好幾家都一樣,左貞,Ralink,AMP等都一樣..   郁悶啊…

查看全部問答∨

怎樣在驅動中顯示圖片?

各位大哥,怎么在驅動中顯示圖片?越詳細越好?…

查看全部問答∨

LED芯片知識大全

一、歷史   50年前人們已經了解半導體材料可產生光線的基本知識,1962年,通用電氣 公司的尼 克何倫亞克(NickHolonyakJr.)開發(fā)出第一種實際應用的可見光發(fā)光二極管。LED是英文light emitting diode(發(fā)光二極管)的縮寫,它的基本結構是一塊電致發(fā)光 ...…

查看全部問答∨

本來感覺萬利不錯,以前買的SE52的仿真器還可以但是這次然

本來感覺萬利不錯,以前買的SE52的仿真器還可以但是這次然我失望……昨天打打電話到杭州萬利的銷售,倒也滿爽快的報價也是199。當天發(fā)貨,今天收到貨拆開就感覺到不對。首先、映入眼簾的是CR1220的時鐘電池沒有安裝。那到算了,自己加一個。其 ...…

查看全部問答∨

關于SD卡讀寫

SD卡讀寫程序:2G和4G有什么區(qū)別??? 我寫的讀寫程序用2G的卡可以用,但是用4G的有就用不了?!?

查看全部問答∨

試用的LM4F232開發(fā)板硬件說明,希望大家能最終獲得

硬件資源: 處理器:LM4F232H5QC,CORTEX M4 80MHz, 256k Flash, 32k SRAM 板載2MB SPI Flash(W25Q16) 板載2048-Bit I2C EEPROM(AT24L02) 支持2.8英寸帶觸摸屏的TFT LCD (分辨率320x240) (ILI9325主控) 2路USB接口,支持Host, De ...…

查看全部問答∨

鋰電池均衡電流???????

有人做鋰電池均衡嗎?想問一下:磷酸鐵鋰電池均衡,均衡電流可不可以是脈沖啊,峰值6A;還是一定要濾平?…

查看全部問答∨

【玩轉C2000 Launchpad】 一C2000新建工程入門

非庫方式新建C2000工程入門 https://bbs.eeworld.com.cn/thread-362200-1-1.html 還有很多更簡單方便的新建C2000工程的方法.…

查看全部問答∨
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved