<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/201611/319570.htm

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

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

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



          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();