LPC2000系列ARM存儲(chǔ)器尋址

發(fā)布時(shí)間:2024-03-03
一個(gè)具體應(yīng)用可能存在的物理存儲(chǔ)器
不同芯片內(nèi)部存儲(chǔ)器分布
片內(nèi)flash編程方法:
(1).通過(guò)內(nèi)置jtag接口;(2).通過(guò)在系統(tǒng)編程(isp),使用uart0通信;(3).通過(guò)在應(yīng)用編程(iap);
片外flash編程方法(lpc2200):
在cpu上運(yùn)行一個(gè)裝載程序(loader,一般由用戶(hù)編寫(xiě)),該程序通過(guò)串口接收要燒寫(xiě)的數(shù)據(jù),然后擦除編程flash。
片內(nèi)sram的寫(xiě)操作
sram控制器包含一個(gè)回寫(xiě)緩沖區(qū),它總是保存著軟件發(fā)送到sram的最后一個(gè)字?jǐn)?shù)據(jù)。該數(shù)據(jù)只有在軟件請(qǐng)求下一次寫(xiě)操作時(shí)才寫(xiě)入sram。如果發(fā)生芯片復(fù)位,實(shí)際的sram內(nèi)容將不會(huì)反映最近一次的寫(xiě)操作。
存儲(chǔ)器映射基本概念
arm處理器產(chǎn)生的地址叫虛擬地址,把這個(gè)虛擬地址按照某種規(guī)則轉(zhuǎn)換到另一個(gè)物理地址去的方法稱(chēng)為地址映射。這個(gè)物理地址表示了被訪(fǎng)問(wèn)的存儲(chǔ)器的位置。它是一個(gè)地址范圍,該范圍內(nèi)可以寫(xiě)入程序代碼。
通過(guò)地址映射的方法將各存儲(chǔ)器分配到特定的地址范圍后,這時(shí)用戶(hù)所看見(jiàn)的存儲(chǔ)器分布為存儲(chǔ)器映射。
芯片復(fù)位后用戶(hù)看見(jiàn)的地址空間
ahb和vpb
ahb(先進(jìn)的高性能總線(xiàn))和vpb(vlsi外設(shè)總線(xiàn))外設(shè)區(qū)域都為2m字節(jié),可各分配128個(gè)外設(shè)。每個(gè)外設(shè)空間的規(guī)格都為16k字節(jié),這樣就簡(jiǎn)化了每個(gè)外設(shè)的地址譯碼。
注意:ahb和vpb外設(shè)區(qū)域中不管是字還是半字,都是一次性訪(fǎng)問(wèn)。例如不可能對(duì)一個(gè)字寄存器的最高字節(jié)執(zhí)行單獨(dú)的讀或?qū)懖僮?br> 外設(shè)存儲(chǔ)器映射
ahb外設(shè)映射
boot lock的映射地址安排
存儲(chǔ)器重新映射
存儲(chǔ)器重新映射是將復(fù)位后用戶(hù)所見(jiàn)的存儲(chǔ)器中部分區(qū)域,再次映射到其它的地址上。
對(duì)于philips的lpc系列arm微控制器,存儲(chǔ)器重新映射區(qū)域一共為64字節(jié),分別為異常向量區(qū)(32字節(jié))和緊隨其后的32字節(jié)。存儲(chǔ)器重新映射的方法允許在不同模式下處理中斷,重新映射的存儲(chǔ)器區(qū)域在地址0x00000000~0x0000003f處。存儲(chǔ)器重新映射的控制見(jiàn)“存儲(chǔ)器映射控制”小節(jié)。
使用存儲(chǔ)器重新映射的原因
(1)使flash存儲(chǔ)器中的fiq處理程序不必考慮因?yàn)橹匦掠成渌鶎?dǎo)致的存儲(chǔ)器邊界問(wèn)題
(2)用來(lái)處理代碼空間中段邊界仲裁的sram和boot block向量的使用大大減少
(3)為超過(guò)單字轉(zhuǎn)移指令范圍的跳轉(zhuǎn)提供空間來(lái)保存常量
預(yù)取指中止和數(shù)據(jù)中止異常
如果試圖訪(fǎng)問(wèn)一個(gè)保留地址或未分配區(qū)域的地址,arm處理器將產(chǎn)生預(yù)取指中止或數(shù)據(jù)中止異常。
注意:
只有在試圖執(zhí)行從非法地址取指的指令時(shí),arm才會(huì)將預(yù)取指中止標(biāo)志與相關(guān)的指令(沒(méi)有意義的指令)一起保存到流水線(xiàn)并對(duì)中止進(jìn)行處理。當(dāng)代碼在非??拷鎯?chǔ)器邊界執(zhí)行時(shí),防止了由預(yù)取指所導(dǎo)致的意外中止。
預(yù)取指中止和數(shù)據(jù)中止異常舉例
異常向量表
對(duì)于每一個(gè)異常事件,都有一個(gè)與之相對(duì)應(yīng)的處理程序,它們是關(guān)聯(lián)在一起的,并以一張一維表的格式存儲(chǔ)在存儲(chǔ)器的固定單元中。這張指定了各異常中斷及其處理程序的對(duì)應(yīng)關(guān)系的表,稱(chēng)為異常向量表。
位于啟動(dòng)代碼中的異常向量表
什么是啟動(dòng)代碼?
一般在32位arm應(yīng)用系統(tǒng)中,大多數(shù)采用c語(yǔ)言進(jìn)行軟件編程。但是在運(yùn)行應(yīng)用代碼前需要進(jìn)行系統(tǒng)初始化。
常用一個(gè)匯編文件作啟動(dòng)代碼,它可以實(shí)現(xiàn)異常向量表定義、堆棧初始化、系統(tǒng)變量初始化、中斷系統(tǒng)初始化、i/o初始化、外圍部件初始化、地址重映射等操作。
上一個(gè):LR4527-25R090FA,旺詮合金4527 90mΩ ±1% 5W
下一個(gè):win10專(zhuān)業(yè)版怎么切換為平板模式(win10專(zhuān)業(yè)版怎么切換為平板模式設(shè)置)

選購(gòu)正品進(jìn)口傳感器(質(zhì)量放心價(jià)格實(shí)惠)
電力電纜在施工中需注意的問(wèn)題
組織越獄罪構(gòu)成要件
意外骨折怎么賠償呢
成都五一去哪旅游最合適-五一假期必去景點(diǎn)
win7怎么下載安裝(windows7安裝版下載)
如何設(shè)計(jì)公司logo,只需要簡(jiǎn)單三步!
RLT05R27JTP現(xiàn)貨庫(kù)存,最新價(jià)格
AC2512JK-076R2L,國(guó)巨車(chē)規(guī)電阻2512 6.2Ω ±5% 1 W
柳工柴油3噸叉車(chē)加裝稱(chēng)重怎么處理
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos