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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > SDRAM在windows CE系統(tǒng)中的應(yīng)用

          SDRAM在windows CE系統(tǒng)中的應(yīng)用

          作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò) 收藏

          (1)頻率設(shè)置

          程序
          程序

          完成寄存器的復(fù)值,其中r3的選擇為F即就是0x1111,打開(kāi)4片內(nèi)存區(qū)域。

          (3) 刷新間隔設(shè)置。關(guān)于刷新間隔值(DIR)的計(jì)算在手冊(cè)中是這樣給出的:

          程序

          目前公認(rèn)的標(biāo)準(zhǔn)是,存儲(chǔ)體中電容的數(shù)據(jù)有效保存期上限是64 ms,也就是說(shuō)每一行刷新的循環(huán)周期是64 ms。這樣刷新速度為:64 ms/行數(shù)量。由于行地址有13位(在MDCNFG寄存器的DRACO[1:0]中設(shè)置,需要與硬件一致),所以每行的的刷新時(shí)間為64 ms/213=64 ms/8 192=7.812 5/μs,則7.812 5μs×100 MHz/32=0x18,這樣就得到了系統(tǒng)的DRI值。

          程序

          (4) 潛伏期的設(shè)置。潛伏期是指SDRAM在讀寫過(guò)程中所存在的延遲,潛伏期的時(shí)間長(zhǎng)度是由以下幾個(gè)參數(shù)共同決定的:

          CL:在選定列地址后,就已經(jīng)確定了具體的存儲(chǔ)單元,剩下的事情就是數(shù)據(jù)通過(guò)數(shù)據(jù)I/O通道(數(shù)據(jù)總線)輸出到內(nèi)存總線上。但是在CAS發(fā)出之后,仍要經(jīng)過(guò)一定的時(shí)間才能有數(shù)據(jù)輸出,從CAS與讀取命令發(fā)出到第一筆數(shù)據(jù)輸出的這段時(shí)間被稱為讀取潛伏期。tRP:在發(fā)出預(yù)充電命令之后,要經(jīng)過(guò)一段時(shí)間才能允許發(fā)送行有效命令打開(kāi)新的工作行,這個(gè)間隔被稱為預(yù)充電有效周期(Precharge command Period)。tRCD:在發(fā)送列讀寫命令時(shí)必須要與行有效命令有一個(gè)間隔,這個(gè)間隔被定義為tRCD,即RAS to CASDelay(RAS至CAS延遲),也可以理解為行選通周期。tRAS:行有效至預(yù)充電命令間隔周期。tRC:包括行單元開(kāi)啟和行單元刷新在內(nèi)的整個(gè)過(guò)程所需要的時(shí)間。

          所有參數(shù)可以從SDRAM數(shù)據(jù)手冊(cè)得到,計(jì)算出理論潛伏期時(shí)長(zhǎng)為200/μs。

          程序

          (5)其他設(shè)置

          程序

          設(shè)置操作系統(tǒng)的入口點(diǎn),這里用到的虛擬地址需要與系統(tǒng)中建立的映射表相對(duì)應(yīng)。

          3.2 BSP內(nèi)代碼的實(shí)現(xiàn)

          Windows cE系統(tǒng)啟動(dòng)中,對(duì)SDRAM的操作分為兩個(gè)部分:首先對(duì)SDRAM的物理空間進(jìn)行分配;其次將SDRAM所對(duì)應(yīng)的物理地址轉(zhuǎn)換為虛擬地址。

          3.2.1 地址的分配

          地址的分配和系統(tǒng)加載的順序有著密切的關(guān)系。首先要在內(nèi)存中開(kāi)辟一段空間用來(lái)存放啟動(dòng)代碼BootLoader,它被存放在sDRAM的第一個(gè)區(qū)域空間內(nèi)。當(dāng)發(fā)生外部復(fù)位中斷時(shí)系統(tǒng)會(huì)從這里重新開(kāi)始運(yùn)行。其次分配操作系統(tǒng)內(nèi)核空間,它被存放在SDRAM的第二個(gè)區(qū)域,以便使BootLoader能夠順利加載操作系統(tǒng)內(nèi)核。分配地址空間根據(jù)所建立系統(tǒng)內(nèi)核來(lái)確定。剩余的內(nèi)存空間用來(lái)存放系統(tǒng)下的應(yīng)用程序。

          3.2.2 地址的映射

          在操作系統(tǒng)中,需要把SDRAM的空間連續(xù)起來(lái)并作為首地址,不僅方便內(nèi)存管理,而且當(dāng)應(yīng)用程序申請(qǐng)大塊內(nèi)存時(shí),操作系統(tǒng)內(nèi)核也可方便的分配。這就引入了將不連續(xù)的物理地址空間映射為連續(xù)的虛擬地址空間。PXA255的SDRAM起始物理地址OxA0000000,可將其映射為0x80000000,這里0x80000000將作為系統(tǒng)虛擬空間的起始地址,當(dāng)有IRQ中斷發(fā)生時(shí),系統(tǒng)PC指針會(huì)重新指向這個(gè)地址。需要注意的是這里分配的虛擬地址要與啟動(dòng)代碼中BootLoader中所使用的虛擬地址對(duì)應(yīng)起來(lái)。

          程序

          3.2.3 軟件的移植

          針對(duì)于PXA27x系列的高端處理器,微軟在Plat-Build 5.0中給出了相對(duì)應(yīng)的內(nèi)核代碼雖然在內(nèi)核代碼的架構(gòu)上有了很大的變化,但對(duì)于擴(kuò)展SDRAM的思想并沒(méi)有改變,首先在BootLoader中初始化所使用的SDRAM,其次在BSP內(nèi)建立地址映射表。

          4 結(jié) 語(yǔ)

          介紹了在嵌入式Windows CE系統(tǒng)平臺(tái)上,使用大容量SDRAM作為動(dòng)態(tài)存儲(chǔ)設(shè)備的方案。詳細(xì)介紹了sDRAM硬件連接方案以及軟件接口的實(shí)現(xiàn)。該方案已經(jīng)在工程設(shè)計(jì)中投入使用,其可以在同類的嵌入式高端產(chǎn)品中推廣使用。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(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); })();