新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM啟動(dòng)過程中的為什么要做內(nèi)存重映射

        ARM啟動(dòng)過程中的為什么要做內(nèi)存重映射

        作者: 時(shí)間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
        ARM啟動(dòng)過程中首先是映射SRAM地址到0x0,這個(gè)時(shí)候DRAM是映射到自己的物理地址的,也就是說尚未進(jìn)入操作系統(tǒng);

        之后要進(jìn)行地址重映射,把SRAM從0x0搬走,將DRAM的地址映射到0x0,這是為了保證一些中斷處理程序等的地址正確性,而且之后正式進(jìn)入操作系統(tǒng)運(yùn)行。

        本文引用地址:http://www.104case.com/article/201611/319570.htm

        那么為什么不從一開始就把DRAM映射到0x0呢,我想,是因?yàn)橄到y(tǒng)啟動(dòng)之后程序從0x0開始運(yùn)行,先把SRAM映射到這個(gè)位置,執(zhí)行SRAM中的代碼,進(jìn)行必要的初始化,之后把DRAM映射進(jìn)來,進(jìn)入操作系統(tǒng)。

        實(shí)際上整個(gè)系統(tǒng)是的啟動(dòng)是從復(fù)位異常中斷處理程序開始的,這個(gè)中斷是有復(fù)位引腳上電引發(fā)的,也就是我們的開機(jī)按鈕操作,這個(gè)程序的地址就在0x0(或者0xFFFF0000)。

        再之后進(jìn)入操作系統(tǒng)的啟動(dòng)過程,也就是如何把操作系統(tǒng)從硬盤讀取到內(nèi)存DRAM并執(zhí)行,下一步再來補(bǔ)充。



        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 黄浦区| 香格里拉县| 黄陵县| 星座| 泗阳县| 香河县| 玛沁县| 太原市| 周宁县| 郎溪县| 梁平县| 中江县| 柳江县| 崇文区| 新竹县| 历史| 龙岩市| 长乐市| 正安县| 罗甸县| 英德市| 开平市| 阜南县| 新竹市| 融水| 台前县| 称多县| 平原县| 黎川县| 内丘县| 湘乡市| 临沭县| 大化| 桦川县| 甘孜县| 沙雅县| 依兰县| 乌兰县| 合肥市| 灵璧县| 扎赉特旗|