視頻配套的和程序匯總里寫代碼都放在這里mdk_第1頁(yè)
視頻配套的和程序匯總里寫代碼都放在這里mdk_第2頁(yè)
視頻配套的和程序匯總里寫代碼都放在這里mdk_第3頁(yè)
視頻配套的和程序匯總里寫代碼都放在這里mdk_第4頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、零死角玩轉(zhuǎn)淘寶:零死角玩轉(zhuǎn)淘寶:主講內(nèi)主講內(nèi)實(shí)驗(yàn):自動(dòng)分配變量到外部實(shí)驗(yàn):優(yōu)先使SRAM分配堆到外部程序的組成與程序的組成與運(yùn)CODE、RO、RW、ZI Data域及堆??赵诠こ痰木幾g提示輸出信息中有一個(gè)語(yǔ)句“ProgramSize:Code=xx RO-data=xxRW-data=xxZI-data=xx”,它說明了程序各個(gè)域的大小,編譯后, Code:即代碼域,它指的是編譯器生成的機(jī)器指令,這些內(nèi)容RO-data:Read Onlydata,即只讀數(shù)據(jù)域,它指程序中用到的只讀數(shù)據(jù),這些義的變量就是典型的RO-dataCODE、RO、RW、CODE、RO、RW、ZI Data域及堆???d

2、at:d rite ,即可讀寫數(shù)據(jù)域,它指初始化為“非值”的可讀的初始值,且運(yùn)行的時(shí)候它們會(huì)常駐在區(qū),因而應(yīng)用程序可以修改其內(nèi)容。例如值”給該變量進(jìn)行初始化。ZI-dat:Zero Intiat,即初始化數(shù)據(jù),它指初始化為“值”的可讀寫數(shù)-ta的區(qū)別是程序剛運(yùn)行時(shí)這些數(shù)據(jù)初始值全都為,而后續(xù)運(yùn)-t區(qū),因而應(yīng)用程序可以更改 語(yǔ)言中使用定義的全局變量,且定義時(shí)賦予“值”給該變量進(jìn)(若定義該變量時(shí)沒有賦予初始值,編譯器會(huì)把它當(dāng)ZI-t來對(duì)待,初始化為CODE、RO、CODE、RO、RW、ZI Data域及堆??語(yǔ)I-dat的??臻g(Sta及堆空間(H):在語(yǔ)言中,函數(shù)定義的局部變量屬于??臻g,進(jìn)入函

3、數(shù)的時(shí)候從向??臻g申請(qǐng)內(nèi)存給局部變量,退出時(shí)部變量,歸還內(nèi)存空間。而使mac動(dòng)態(tài)分配的變量屬于堆空間。在程序中的??臻g和堆空間都是屬ZI-t區(qū)域的,這些空間都會(huì)被初始值化為值。編譯器給出ZI-t占用的空間值中包含了堆棧的大小(經(jīng)實(shí)際測(cè)試,若程序中完全沒有使用malloc動(dòng)態(tài)申請(qǐng)堆空間,編譯器會(huì)優(yōu)化,不把堆空間計(jì)算在內(nèi))CODE、RO、RW、ZI Data域及堆??站C上所述CODE、RO、RW、ZI Data域及堆??站C上所述,以程序的組成構(gòu)件為例,它們所屬的區(qū)域類別如下表程序組所屬類機(jī)器代碼指常RO-初值非0的全局變RW-初值為0的全局變ZI-局部變ZI-data??帐褂胢alloc動(dòng)態(tài)分配的

4、空Z(yǔ)I-data堆空RW-data和ZI-data它們僅僅是初始值不一樣而已,為RW-data和ZI-data它們僅僅是初始值不一樣而已,為什么編譯器非要它們區(qū)分開?這就涉及到程序狀態(tài)了,應(yīng)用程序具狀態(tài)和運(yùn)行狀態(tài)態(tài)的程序系統(tǒng)掉電后也能正常保存在非易器中,如STM32FLASH,因但是當(dāng)程序在運(yùn)行狀態(tài)的時(shí)候,程序常常需要修改一些暫存數(shù)據(jù),由運(yùn)行速度的要求,這些數(shù)據(jù)往往存放在內(nèi)存中(RAM),掉電后這些數(shù)據(jù)會(huì)丟因此,程因此,程序與運(yùn)行的時(shí)候它器中的表現(xiàn)是不一樣的,如下圖圖中的左側(cè)是應(yīng)用程序狀態(tài),右側(cè)是運(yùn)行狀態(tài)圖中的左側(cè)是應(yīng)用程序狀態(tài),右側(cè)是運(yùn)行狀態(tài),而上方是器區(qū)域,下方是器區(qū)域程序狀態(tài)時(shí),RO節(jié)(

5、RO section)及RW節(jié)都被保存在ROM區(qū)當(dāng)程序開始運(yùn)行時(shí),內(nèi)核直接從ROM代碼,并且在執(zhí)行主體代碼前,WM,MZIZI節(jié)的數(shù)據(jù)都被初始化為。加載完后區(qū)準(zhǔn)備完畢,正式開始執(zhí)行主體程序。中的ZI節(jié)。是否需要掉電保存,這就是把-t與ZI-t區(qū)別開來的原因,創(chuàng)建數(shù)據(jù)的時(shí)候,默認(rèn)值為,但如果有的數(shù)據(jù)要求初值非需要使用該初始值,運(yùn)行時(shí)到RAMSTM32的RO區(qū)域不需要加載到SRAM,內(nèi)STM32的RO區(qū)域不需要加載到SRAM,內(nèi)核直接從FLASH 指令狀態(tài)時(shí)位于硬盤,執(zhí)行的時(shí)候甚至?xí)焉鲜龅腛區(qū)域(代碼、只讀數(shù)據(jù))內(nèi)存,加快運(yùn)行速度,還有虛擬內(nèi)存管理單元(MMU輔助加載數(shù)據(jù),使得可以STM和Windows系統(tǒng)當(dāng)程到FLASH時(shí)(即ROM區(qū)),它占用的空應(yīng)用程序在各個(gè)狀態(tài)時(shí)各區(qū)域的應(yīng)用程序在各個(gè)狀態(tài)時(shí)各區(qū)域的組成如下表在MD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論