日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

關(guān)于RAM&ROM

RAM與ROM就是具體的存儲空間,統(tǒng)稱為存儲器。

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

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

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

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

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

RAM與ROM協(xié)同工作

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

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

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

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

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

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

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

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

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

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

 

memZonepic01.png

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

首先了解下:虛擬內(nèi)存與物理內(nèi)存。

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

在下面的舉例中,只考慮虛擬內(nèi)存

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

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

 

memZonepic002.png

編程注意

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

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉