www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]關于RAM&ROMRAM與ROM就是具體的存儲空間,統稱為存儲器。RAM(random access memory):運行內存,CPU可以直接訪問,讀寫速度非??欤遣荒艿綦姶鎯?。它又分為:動態(tài)DRAM,

關于RAM&ROM

RAM與ROM就是具體的存儲空間,統稱為存儲器。

RAM(random access memory):運行內存,CPU可以直接訪問,讀寫速度非???,但是不能掉電存儲。它又分為:

動態(tài)DRAM,速度慢一點,需要定期的刷新(充電),我們常說的內存條就是指它,價格會稍低一點,手機中的運行內存也是指它。

靜態(tài)SRAM,速度快,我們常說的一級緩存,二級緩存就是指它,當然價格高一點。

ROM(read only memory):存儲性內存,可以掉電存儲,例如SD卡、Flash(機械磁盤也可以簡單的理解為ROM)。用的多的:NandFlash,還有NorFlash,現在用的已經比較少了(兩者主要區(qū)別是前者空間大,便宜,后者可以直接運行程序,讀取速度快)。

由于RAM類型不具備掉電存儲能力(即一停止供電數據全沒了,從新上電后全是亂碼,所以需要初始化),所以app程序一般存放于ROM中。RAM的訪問速度要遠高于ROM,價格也要高。

RAM與ROM協同工作

由于RAM不能掉電存儲,所以我們的APP程序,刷機包,下載的文件等等,都是在ROM里面存儲的。

手機里面使用的ROM基本都是NandFlash,CPU是不能直接訪問的,而是需要文件系統/驅動程序(嵌入式中的EMC)將其讀到RAM里面,CPU才可以訪問。另外,RAM的速度也比NandFlash快。

內存分區(qū):可以分為5個區(qū)

說到內存分區(qū),內存即指的是RAM。

棧區(qū)(stack): 這個一般由編譯器操作,或者說是系統管理,會存一些局部變量,函數跳轉跳轉時現場保護(寄存器值保存于恢復),這些系統都會幫我們自動實現,無需我們干預。 所以大量的局部變量,深遞歸,函數循環(huán)調用都可能耗盡棧內存而造成程序崩潰 。

堆區(qū)(heap): 一般由程序員管理,比如alloc申請內存,free釋放內存。我們創(chuàng)建的對象也都放在這里。

全局區(qū)(靜態(tài)區(qū) static):全局變量和靜態(tài)變量的存儲是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域, 未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域。程序結束后有系統釋放。注意:在嵌入式系統中全局區(qū)又可分為未初始化全局區(qū):.bss段和初始化全局區(qū):data段。舉例:int a;未初始化的。int a = 10;已初始化的。

常量區(qū):常量字符串就是放在這里的,還有const常量。

代碼區(qū):存放代碼,app程序會拷貝到這里,程序不是在ROM里面存儲嗎?看下面的舉例

圖中各個區(qū)并不連續(xù)

 

memZonepic01.png

程序運行舉例(CPU RAM ROM之間協同)

首先了解下:虛擬內存與物理內存。

手機上的所有程序都是依托操作系統,運行在虛擬內存上的,每一個APP都會以為自己擁有所有的虛擬內存。比如一個手機,它是32位操作系統(一般也是32位總線),真實的物理內存為2G,那么他的尋址空間為4G(2的32次方),對于APP來說,它覺得自己擁有4G的內存,雖然這是不可能的(或者說同一時間是不可能的),但是,操作系統只要保證APP當時用到的地址空間有真實的物理地址對應就可以,APP也不需要知道那對應的2G真實物理內存具體在哪里。不要求4G的虛擬內存同一時間都有真實的物理內存相對應,當然那也是不可能的,因為只有2G物理內存。

在下面的舉例中,只考慮虛擬內存

當我們點擊手機屏幕APP的Icon啟動一個APP(例如微信)時,操作系統會為微信開辟4G的虛擬內存空間(開辟真實的物理內存,對應一部分到4G的虛擬內存),操作系統會把存儲在ROM里面微信的部分代碼(受空間所限,不可能全部拷貝),拷貝到上一步開辟的4G內存空間的代碼區(qū),如上圖,然后CPU就可以訪問RAM來運行微信的程序了 。

假設通過微信我們下載了一個100M的視頻,那么會從服務器一點一點的下載到RAM,然后再從RAM寫到ROM存儲。這樣才能保證,我們關掉微信并再次打開時視頻還在。假設隔一段時間,我們要看視頻,程序會將它從ROM讀到RAM然后解碼播放。

 

memZonepic002.png

編程注意

當一個app啟動后,代碼區(qū),常量區(qū),全局區(qū)地址已固定,因此指向這些區(qū)的指針不會為空而產生崩潰性的錯誤。而堆區(qū)和棧區(qū)是時時刻刻變化的(堆的創(chuàng)建銷毀,棧的彈入彈出),所以當使用一個指針指向這兩個區(qū)里面的內存時,一定要注意內存是否已經被釋放,否則會產生程序崩潰(編程中很常見)。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉