国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
單片機啟動時為何不需要將代碼從ROM搬移到RAM?

單片機的知識,體積龐大且結(jié)構(gòu)復(fù)雜。初學(xué)者很容易陷入困境,最終失去對單片機的興趣。因此在學(xué)習(xí)單片機時一定要對基礎(chǔ)知識進行特別的鞏固。


在本文中,《單片機與嵌入式系統(tǒng)應(yīng)用》小編將為大家介紹單片機地址空間以及堆棧的相關(guān)知識。

Data:可尋址片內(nèi)ram0x00-0x7f

Bdata:可位尋址片內(nèi)ram

Idata:可尋址片內(nèi)ram,允許訪問全部內(nèi)部ram0x00-0xff

Padata:分頁尋址訪問片外ram

Xdata:可尋址片外ram0x0000-0xffff

code--程序存儲區(qū)


單片機存儲器分ROM跟RAM之分,RAM存放中間結(jié)果、數(shù)據(jù)和經(jīng)常變換的代碼,ROM存放code。51單片機采用的是哈弗結(jié)構(gòu),即數(shù)據(jù)跟代碼擁有單獨的地址空間。存儲器可以分為程序存儲器(eerom,flash之類)、內(nèi)部數(shù)據(jù)存儲器(ram)、SFR、位地址空間和外部數(shù)據(jù)存儲器。內(nèi)部數(shù)據(jù)存儲器在物理上分為內(nèi)部SRAM和特殊功能寄存器,而內(nèi)部分為低(0x00-0x7f)和(0x80-0xff),高128字節(jié)地址重復(fù),需要不同的訪問方式。SFR用直接尋址方式,SRAM需要間接方式。這里SFR是寄存器,硬件上是中央處理器的內(nèi)部組成部分,訪問速度很快。在低128B的SRAM,0x00-0x1f是4個通用工作寄存器,每組有R0-R7。使用哪一組,可以通過PSW中的RS1,RS0來配置,位尋址是在0x20-0x2f。


程序內(nèi)存可以分為幾個區(qū),棧區(qū)(stack)、堆區(qū)(Heap)、全局區(qū)(static)、文字常亮區(qū)、程序代碼區(qū)。程序編譯之后,全局變量、靜態(tài)變量已經(jīng)分配好內(nèi)存空間,在函數(shù)運行時,程序需要為局部變量分配??臻g,當(dāng)中斷到來時,也需要將函數(shù)指針入棧,保護現(xiàn)場,以便于中斷處理完之后再回到之前執(zhí)行的函數(shù)。棧是從高到低分配,堆是從低到高分配。一般說的堆棧指的棧。堆棧又分硬堆棧和軟堆棧,硬堆棧即SP,從片內(nèi)RAM的頂部向下生長。軟堆棧在硬堆棧跟全局變量區(qū)之間的空間,C51函數(shù)調(diào)用通過R0-R7和棧來實現(xiàn)。


為什么單片機啟動時,不需要用bootloader將代碼從ROM搬移到RAM,而ARM則需要。這里可以先看看單片機程序執(zhí)行的過程,單片機執(zhí)行分三個步驟,取執(zhí)行---分析指令----執(zhí)行指令。取指令的任務(wù)是:根據(jù)PC的值從程序存儲器讀出指令,送到指令寄存器,然后分析執(zhí)行。這樣單片機就從內(nèi)部程序存儲器取代碼指令,從RAM存取相關(guān)數(shù)據(jù)。要知道RAM取數(shù)的速度是遠(yuǎn)高于ROM的,但是單片機因為本身運行頻率不高,所以從ROM取指令慢并不影響。而ARM不同,CPU運行的頻率高,遠(yuǎn)大于從ROM讀寫的速度,所以一般有操作系統(tǒng),都需要將代碼部分拷貝到RAM中再執(zhí)行。

 

本文針對單片機的地址和堆棧分別進行了介紹。給出了一些必須進行理解的名詞定義,并在文章最后給出了一種單片機啟動時為何不需要將代碼從ROM搬移到RAM的解釋,希望大家在閱讀過本文之后能夠有所收獲。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
單片機C51 DATA,XDATA,BDATA,IDATA,CODE存儲資源分配
怎樣玩轉(zhuǎn)STM8單片機
單片機的一些面試題整理
單片機考試內(nèi)容
單片機原理及接口技術(shù)復(fù)習(xí)提綱
MCS-8051單片機內(nèi)部結(jié)構(gòu)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服