在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            stm32 堆棧分配

            作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏
            1.堆和棧大小

            定義大小在startup_stm32f2xx.s

            本文引用地址:http://www.biyoush.com/article/201611/322726.htm

            Stack_SizeEQU0x00000400

            AREASTACK, NOINIT, READWRITE, ALIGN=3
            Stack_MemSPACEStack_Size
            __initial_sp


            ; Heap Configuration
            ;Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
            ;

            Heap_SizeEQU0x00000200

            AREAHEAP, NOINIT, READWRITE, ALIGN=3
            __heap_base

            2.堆和棧位置

            通過MAP文件可知

            HEAP0x200106f8Section512startup_stm32f2xx.o(HEAP)
            STACK0x200108f8Section1024startup_stm32f2xx.o(STACK)

            __heap_base0x200106f8Data0startup_stm32f2xx.o(HEAP)
            __heap_limit0x200108f8Data0startup_stm32f2xx.o(HEAP)
            __initial_sp0x20010cf8Data0startup_stm32f2xx.o(STACK)

            顯然Cortex-m3資料可知:__initial_sp是堆棧指針,它就是FLASH的0x8000000地址前面4個字節(jié)(它根據(jù)堆棧大小,由編譯器自動生成)

            顯然堆和棧是相鄰的。

            3.堆和棧空間分配

            棧:向低地址擴展

            堆:向高地址擴展

            顯然如果依次定義變量

            先定義的棧變量的內(nèi)存地址比后定義的棧變量的內(nèi)存地址要大

            先定義的堆變量的內(nèi)存地址比后定義的堆變量的內(nèi)存地址要小

            4.堆和棧變量

            棧:臨時變量,退出該作用域就會自動釋放

            堆:malloc變量,通過free函數(shù)釋放

            另外:堆棧溢出,編譯不會提示,需要注意



            關鍵詞: stm32堆棧分

            評論


            技術專區(qū)

            關閉