|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
問(wèn)個(gè)問(wèn)題:memory remap是怎么回事 |
| 作者:bluemaple 欄目:ARM技術(shù) |
是不是說(shuō):沒(méi)有經(jīng)過(guò)這一步,44B0X就沒(méi)法進(jìn)入中斷 * - 本貼最后修改時(shí)間:2005-1-12 8:42:03 修改者:bluemaple |
| 2樓: | >>參與討論 |
| 作者: gangzh1234 于 2005/1/13 11:16:00 發(fā)布:
對(duì)此問(wèn)題也不是很了解,希望高手能指點(diǎn)一下 |
|
| 3樓: | >>參與討論 |
| 作者: gwnpeter 于 2005/1/13 11:43:00 發(fā)布:
44b0沒(méi)有MEMORY remap功能! 但是可以在0x0000000開(kāi)始的地址上加上跳轉(zhuǎn)指令從而實(shí)現(xiàn)中斷向量表的轉(zhuǎn)移! 可以參考bootload程序! |
|
| 4樓: | >>參與討論 |
| 作者: trio 于 2005/1/13 13:19:00 發(fā)布:
回答 ARM的中斷向量表只能放在0x0地址,而在嵌入式系統(tǒng)中一般而言系統(tǒng)啟動(dòng)時(shí)的默認(rèn)片選是指向非揮發(fā)存儲(chǔ)器(ROM或FLASH中)的,這個(gè)默認(rèn)片選的地址必須是0x0地址(因?yàn)锳RM的Reset向量是存放在0X0地址的),但是系統(tǒng)Boot起來(lái)后一般需要修改中斷向量表,使得中斷指向正常工作的中斷處理器程序,但是ROM和FLASH中的Boot時(shí)的中斷向量表是沒(méi)有辦法改變的(因?yàn)樗麄兪侵蛔x的),因此就有必要將系統(tǒng)的SRAM或SDRAM的地址重新映射到0x0地址(這時(shí)SDRAM或SRAM有兩個(gè)基址,一個(gè)是0x0開(kāi)始的地址,另一個(gè)是用戶(hù)配置的基址,對(duì)于這些基址的訪問(wèn)都指向SDRAM或SRAM),這時(shí)用戶(hù)的程序可以將新的中斷向量表設(shè)置到SRAM或SDRAM中,進(jìn)行正常的中斷處理了(當(dāng)然上述的操作過(guò)程應(yīng)該在關(guān)閉中斷的情況下完成)。以上這個(gè)過(guò)程就是通常所說(shuō)的REMAP或 Double Map。 所以你說(shuō)的不經(jīng)過(guò)REMAP就不能進(jìn)中斷的說(shuō)法是不正確的,只是說(shuō)在這種情況進(jìn)入的中斷是系統(tǒng)BOOT前就設(shè)定好的,用戶(hù)沒(méi)有辦法修改而已。 |
|
| 5樓: | >>參與討論 |
| 作者: missyou422 于 2005/1/14 9:38:00 發(fā)布:
好樣的trio,再問(wèn)一下:當(dāng)系統(tǒng)上電復(fù)位時(shí)執(zhí)行的RESET是BOOTLOAD 中映射到0X0000000的吧。然后運(yùn)行FLASH中的客戶(hù)程序時(shí)中斷向量是存在于FLASH中對(duì)嗎?當(dāng)程序在RAM中運(yùn)行時(shí)就要REMAP此時(shí)中斷向量存在于RAM中對(duì)嗎? |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |