有幾個問題,眾多博文中抄來抄去,內(nèi)容一樣,卻沒有解釋清楚
上電初始化堆棧,在進(jìn)入_main后又說初始化堆棧,有什么不同
堆棧的地址是怎么得出來的
關(guān)于這兩個問題,先借用一下要標(biāo)準(zhǔn)的啟動流程
一般而言,系統(tǒng)上電后第一個執(zhí)行的是由匯編所編寫的啟動文件,其主要工作為一下五部分:
(1)、初始化堆棧指針SP=_initial_sp
(2)、初始化PC指針,令其=Reset_Handler
(3)、初始化中斷向量表
(4)、配置系統(tǒng)時鐘
(5)、調(diào)用C庫函數(shù)_main初始化用戶堆棧,從而最終調(diào)用main函數(shù)進(jìn)入C的世界
STM32的中斷向量表規(guī)定每一行必須是SP地址,第二行是復(fù)位中斷入口地址,上電后,CPU首先就會讀這兩個值,分別存為SP和PC寄存器。上述流程第一行_initial_sp就是SP地址。
那么_initial_sp的值是怎么得到的呢?這是根據(jù)STM32的SRAM分配規(guī)則計算的,SRAM從規(guī)定的地址開始分別存付已初始全局和靜態(tài)變量、未初化全局和靜態(tài)變量、堆、棧,其中變量的長度是你寫程序后就固定了,堆和棧的長度則是在啟動代碼中定義的,那么把它們加起來就會得于_initial_sp的值,編譯后,_initial_sp就被替代為上述計算好的地址。
第二個問題,上電已經(jīng)初始了SP,為什么后邊又初始化堆棧?因為上電只是將_initial_sp值存入了SP寄存器,這只是一個棧頂指針,但堆的大小和棧的大小并沒有初始化,所以在_main中要把在啟動文件中定義好的值傳給C庫進(jìn)行堆棧大小的初始化。無論是帶系統(tǒng)的,還是裸機(jī)程序,都要管理堆棧的大小,這就是會產(chǎn)生堆棧溢出的原因。
另外,對于有MMU的系統(tǒng),在進(jìn)入保護(hù)模式后,地址切換到虛擬地址,還要對SP重新賦值,因為上電時的地址是實模式下真實的物理地址,而MMU是虛擬線性地址
上一篇:STM32系統(tǒng)芯片,加快LoRa IoT智能設(shè)備開發(fā)
下一篇:STM32堆棧整理
推薦閱讀
史海拾趣
華為,作為中國的科技巨頭,其在電子行業(yè)的發(fā)展歷程中展現(xiàn)出了強(qiáng)大的技術(shù)實力和全球視野。華為在通信領(lǐng)域取得了多項技術(shù)突破,如5G技術(shù)的領(lǐng)先和智能手機(jī)拍照技術(shù)的創(chuàng)新。同時,華為還積極拓展全球市場,與全球運營商建立了廣泛的合作關(guān)系。然而,面對國際市場的復(fù)雜環(huán)境和競爭壓力,華為也面臨著諸多挑戰(zhàn)和不確定性。
隨著公司規(guī)模的擴(kuò)大,CLANDELL公司開始積極履行社會責(zé)任。公司不僅關(guān)注自身的經(jīng)濟(jì)效益,還積極參與公益事業(yè)和環(huán)保活動。同時,公司還注重員工的福利待遇和職業(yè)發(fā)展,為員工提供良好的工作環(huán)境和培訓(xùn)機(jī)會。這些舉措不僅提升了CLANDELL公司的社會形象,也為公司的可持續(xù)發(fā)展注入了新的動力。
這五個故事只是CLANDELL公司發(fā)展過程中的一部分,它們展示了公司在電子行業(yè)中的崛起之路,也反映了公司不斷追求卓越、勇于創(chuàng)新的精神風(fēng)貌。
APT公司成立于1987年,創(chuàng)始人憑借對氣體輸送技術(shù)的深刻理解和前瞻眼光,在加利福尼亞州圣拉斐爾創(chuàng)立了這家公司。初始階段,公司專注于制造堅固、可靠的氣體輸送產(chǎn)品,尤其是壓力調(diào)節(jié)器和閥門。盡管市場充滿競爭,但APT公司憑借出色的產(chǎn)品性能和可靠的品質(zhì),在1988年成功推出了一小部分產(chǎn)品,并迅速獲得了市場的認(rèn)可。銷售額的迅速增長和產(chǎn)品供應(yīng)的緊張,都預(yù)示著APT公司正步入快速發(fā)展的軌道。
隨著銷售量的持續(xù)增長,APT公司很快便超出了其初始設(shè)施的產(chǎn)能。為了滿足市場需求,公司于1992年遷至加利福尼亞州納帕市的一座占地36,000平方英尺的工廠,并配備了2,000平方英尺的100級潔凈室。新工廠的啟用為APT公司提供了更大的發(fā)展空間,也進(jìn)一步提升了其產(chǎn)品質(zhì)量和產(chǎn)能。同時,APT公司始終致力于技術(shù)創(chuàng)新,不斷推出適應(yīng)市場需求的新產(chǎn)品,進(jìn)一步鞏固了其在氣體輸送領(lǐng)域的領(lǐng)先地位。
為了進(jìn)一步鞏固市場地位和提升競爭力,GTC開始實施并購整合戰(zhàn)略。公司通過收購具有技術(shù)優(yōu)勢和市場潛力的企業(yè),實現(xiàn)了技術(shù)、產(chǎn)品和市場的快速擴(kuò)張。同時,GTC還積極尋求戰(zhàn)略轉(zhuǎn)型,從單一的電子元器件分銷商和生產(chǎn)商向綜合性電子解決方案提供商轉(zhuǎn)變。這一戰(zhàn)略轉(zhuǎn)型為公司帶來了新的增長點和發(fā)展機(jī)遇。
隨著產(chǎn)品線的不斷豐富和技術(shù)實力的提升,博通集成開始積極拓展市場。公司憑借優(yōu)質(zhì)的產(chǎn)品和服務(wù),贏得了眾多客戶的信賴和支持。同時,公司注重品牌建設(shè),通過參加行業(yè)展會、舉辦技術(shù)研討會等方式,提升品牌知名度和影響力。如今,博通集成已成為無線連接芯片設(shè)計領(lǐng)域的知名品牌。
我是上海派睿電子的朱林 下面給您介紹下我們的3個網(wǎng)站 http://www.newark.com/ 這是我們美國的網(wǎng)站 http://uk.farnell.com/ 這是我們英國的網(wǎng)站 www.premierelectronics.com.cn 我們中國的網(wǎng)站 我們公司的簡介請查看附件 謝謝 麻煩 ...… 查看全部問答∨ |
首先感謝soso了 提供F2802x_CSP_RTM升級燒寫插件 有這個就太簡單了 找到28027例程,也就是下載2802X的庫文件 這里面有個flash的例程,打開這個程序,把那個Example_2802xFlash.c Remove掉 加上自己主程序例如Example_2802xGpioT ...… 查看全部問答∨ |
想利用板子的擴(kuò)展接口讓板子提供對單色屏的支持,有朋友做過嗎?能提供點相關(guān)資料嗎?有的話發(fā)我郵箱:lylove1943@163.com 大恩不言謝,100分送上?。 ? 查看全部問答∨ |
|
問題,如題。 曾嘗試在qte根目錄里mkspecs里添加arm-elf-g++目錄,然后修改qmake.conf中的編譯器名稱,configure里指定用arm-elf-g++來編譯,但是報錯。請問大蝦們是否有方法讓qte或qtopia運行在uClinux平臺呢?有的話要怎樣做呢? … 查看全部問答∨ |
|
響應(yīng)SOSO號召出來顯擺下,這是2007年的一個項目的初期文檔,項目采用MSP430F149作為主控,小區(qū)內(nèi)通過Zigbee芯片完成組網(wǎng),然后經(jīng)GPRS進(jìn)行數(shù)據(jù)遠(yuǎn)程傳輸,上位機(jī)完成數(shù)據(jù)的分析統(tǒng)計功能,已經(jīng)有公司將項目中的產(chǎn)品推向市場。這次 ...… 查看全部問答∨ |
我想利用定時器Timer_B捕獲方波時間 ,現(xiàn)在程序中還有p1.3中斷 但程序死機(jī) ,將Timer_B中斷封掉 程序正常 請問高手 問題在那里 程序如下 /********** TIMER_B 初始化 *********/ TBCTL = SHR_0+CNTL_0+TBSSEL_0+ID_1+MC_2+TBCLR+TBIE; ...… 查看全部問答∨ |
Virtex-5 系列概述本概述簡要介紹 Virtex-5 系列的功能和產(chǎn)品選擇。• Virtex-5 數(shù)據(jù)手冊:直流和開關(guān)特性本數(shù)據(jù)手冊包含 Virtex-5 系列的直流和開關(guān)特性指標(biāo)。• Virtex-5 RocketIO GTP 收發(fā)器用戶指南本指南介紹 Virtex-5 LXT 和 SXT ...… 查看全部問答∨ |
廢話不多說,先上圖誘惑下大家下 然后自拍了個視頻,效果可能不是很好,不要介意哈~ $(\'flv_rZT\').innerHTML=(mobileplayer() ? \"\" : AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allo ...… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 阿里黑科技落地!夸克AI眼鏡全球首發(fā),高德、淘寶、支付寶都能用
- 化繁為簡, 適配復(fù)雜磁場環(huán)境,MT73xx 3D雙路輸出霍爾鎖存器賦能車規(guī)電機(jī)精準(zhǔn)控制
- 9.5億美元收購恩智浦MEMS傳感器業(yè)務(wù),意法半導(dǎo)體 在傳感器領(lǐng)域的地位再升級
- 高性能電動滑板車 BLDC 電機(jī)驅(qū)動器:技術(shù)解析與應(yīng)用展望
- 5G工業(yè)網(wǎng)關(guān)的“邊緣計算+AI推理”一體化設(shè)計,PLC協(xié)議解析與缺陷檢測的實時聯(lián)動
- AR眼鏡的“工業(yè)指令投射”系統(tǒng),SLAM的空間定位、PLC數(shù)據(jù)實時疊加顯示
- 多光譜氣體傳感器的抗交叉干擾設(shè)計
- 多模態(tài)融合感知的“語義-幾何”聯(lián)合建模
- 工業(yè)觸摸屏的“壓感-手勢”多模態(tài)交互設(shè)計
- 工業(yè)機(jī)器人高精度力控的“雙模融合”傳感器設(shè)計
- 下載有禮:2017年泰克亞太專家大講堂第二期: 100G/200G/400G通訊標(biāo)準(zhǔn)發(fā)展趨勢及解決方案
- 有獎直播:是德科技高速芯片設(shè)計新技術(shù)研討會
- 有獎直播:英飛凌 MERUS™ D 類音頻放大器的多電平技術(shù)及其優(yōu)勢
- 用 TI 汽車電子方案充充電吧,看你止步不前還是勇往直前!
- #Micropython大作戰(zhàn)#第一彈:動起來,大家一起來DIY
- 關(guān)注有禮 | 泰克中端示波器增“重”計劃
- 關(guān)注 PI 最新 SCALE-iDriver IC產(chǎn)品系列 答題有好禮!
- 答題贏獎:日圖科技低功耗測試系統(tǒng)介紹