汽车电子嵌入式技术篇(二) -autosar中的嵌入式系统函数的调用
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                汽车电子嵌入式技术篇(二) -autosar中的嵌入式系统函数的调用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                1 程序的內存分布
嵌入式系統中,一個函數調用時,它的內部機理是什么,執行了哪些步驟?如圖1所示,先看 看 一個程序在運行時,它的內存分布狀況。
圖1 系統中的內存分布
當程序運行時,它的代碼會被裝入內存,保存在代碼區,包括主函數和其他函數。主要有三塊內存區域用來存放數據:
第一塊是全局變量區域,存放了程序當中的所有全局變量。由于全局變量的個數和大小是已知的,所以這一塊區域所占用的內存大小在開始就確定下來,它們被稱為是靜態分配。位于此區域內的變量,它們在程序的整個運行過程當中,都一直存在,只有當整個程序運行結束了, 這一塊內存區域才會被釋放。
第二塊區域是棧(stack)區域,它包含了所有的棧幀。所謂的棧幀( stack frame),就是在調用函數時,系統自動地為該函數分配一塊內存區域,用來保存它的運行上下文、形參和局部變量等信息,這樣的一塊內存區域,就叫做一個棧幀。棧幀是在函數調用時分配,當函數調用結束,相應的棧幀則被釋放。所以,對于一個函數的局部變量來說,只有當函數調用發生時,系統才會給這個函數的形參和局部變量分配存儲空間;當函數調用結束后,這些局部變量就被釋放掉了。另外,棧區是由系統自動分配,用戶不需要關心,所以也稱為是自動分配。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的汽车电子嵌入式技术篇(二) -autosar中的嵌入式系统函数的调用的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 汽车电子嵌入式技术篇(一) -CRC-8
- 下一篇: GIS实战应用案例100篇(十五)-CA
