




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、摘 要:針對Linux移植S3C2410微處理器系統(tǒng)開發(fā)的需要,設(shè)計了S3C2410外圍存儲系統(tǒng)。本文研究了S3C2410的尋址原理,并結(jié)合該芯片SDRAM時序圖詳細分析了其對SDRAM尋址的全過程。介紹了與存儲系統(tǒng)設(shè)計相關(guān)的控制寄存器和引腳,給出了與Flash和SDRAM的硬件電路連接圖。最后在啟動代碼U-Boot下實現(xiàn)了存儲系統(tǒng)的初始化。嵌入式開發(fā)人員可以根據(jù)開發(fā)需要借鑒本文的設(shè)計思路擴展其它ARM核芯片的存儲系統(tǒng)。 關(guān)鍵詞:S3C2410;尋址原理;SDRAM尋址機制;U-Boot 0 引言Samsung公司推出的基于ARM920T內(nèi)核的16/32位RISC微處理器
2、S3C2410,為手持設(shè)備和一般類型應(yīng)用提供了低價格、低功耗、高性能小型微控制器的解決方案。為了降低整個系統(tǒng)的成本,S3C2410提供了豐富的內(nèi)部設(shè)備。其中加強的ARM體系結(jié)構(gòu)MMU用于支持WinCE,EPOC32和Linux。隨著技術(shù)的進步和發(fā)展,電子產(chǎn)品的功能日益強大,而嵌入式操作系統(tǒng)可以有效地管理各項功能,并且能夠縮短產(chǎn)品開發(fā)周期,因此將微處理器與嵌入式操作系統(tǒng)進行聯(lián)合開發(fā)成為一種趨勢,然而微處理器的片內(nèi)存儲資源有限,若要進行嵌入式系統(tǒng)的移植,必須擴展其存儲系統(tǒng)。對于嵌入式系統(tǒng)的開發(fā)人員來說,深入理解其存儲系統(tǒng)原理和有效地管理存儲系統(tǒng)對正確高效地設(shè)計嵌入式系統(tǒng)的硬件和底層軟件編程具有重要
3、的意義1。1 S3C2410的尋址原理ARM920T內(nèi)核提供了32位的地址總線,可以訪問4G(232)的線性地址空間,而S3C2410的內(nèi)部地址總線是30bit(HADDR29:0),能夠訪問的最大外部地址空間是230,即1G的地址空間0x000000000x3FFFFFFFF,可見S3C2410僅利用了ARM920T的32位地址總線的低30位,并且是一一對應(yīng)相連的1。由表1可知S3C2410將1G的外部地址空間分成了8個存儲器組,每個組的大小為128M,其中6個用于ROM、SRAM等存儲器,2個用于ROM、SRAM、SDRAM等存儲器?;谛酒w積及成本的考慮,當(dāng)S3C2410對外尋址時,采
4、用了部分譯碼的方式,即低位地址線用于外圍存儲器的片內(nèi)尋址,而高位地址線用于外圍存儲器的片外尋址。如表1所示,由于每個存儲器組的起始地址及空間大小固定,對于系統(tǒng)要訪問的任意外部地址,S3C2410可以方便地利用內(nèi)部地址總線的高3位HADDR29:27來選擇該地址屬于哪一個存儲器組(Bank),從而激活相應(yīng)的Bank選擇信號,并且使用外部地址總線A26:0來實現(xiàn)相應(yīng)Bank的內(nèi)部尋址,尋址范圍為128M(227),從而使得其外圍地址訪問空間為1GB(128MB×8)。S3C2410正是通過這種機制來完成外部地址空間的尋址全過程。表 1 S3C2410存儲器組片選激活及地址空間分配HADD
5、R29HADDR28HADDR27片選信號片選控制寄存器地址空間000nGCS0BANKCON00x000000000x07FFFFFF001nGCS1BANKCON10x080000000x0FFFFFFF010nGCS2BANKCON20x100000000x17FFFFFF011nGCS3BANKCON30x180000000x1FFFFFFF100nGCS4BANKCON40x200000000x27FFFFFF101nGCS5BANKCON50x280000000x2FFFFFFF110nGCS6BANKCON60x300000000x37FFFFFF111nGCS7BANKCON7
6、0x380000000x3FFFFFFF S3C2410訪問SDRAM地址空間的過程比較難理解,這主要和SDRAM的存儲結(jié)構(gòu)有關(guān)。為了更深入地理解其尋址機制,筆者以SDRAM芯片HY57V561620B(32MB)為例進行詳細地說明。該芯片的內(nèi)部存儲結(jié)構(gòu)是4Banks×4M×16Bit,即共有4個Bank,每個Bank中有4M個半字(16Bit)。Bank地址可以通過BA1:0與地址總線的高位相連來確定,具體BA1:0與哪個地址位相連,不同的SDRAM存儲系統(tǒng)有不同的方案,詳見參考文獻3。而每個Bank中的存儲單元由行地址和列地址來唯一標(biāo)識1,該芯片通過行地址鎖存
7、引腳nRAS和列地址鎖存引腳nCAS分別與S3C2410的引腳nSRAS(SDRAM行地址選通信號)和nSCAS(SDRAM列地址選通信號)連接,從地址總線獲得行地址和列地址。而且列地址的位數(shù)可以在BANKCONn(n6,7)的中的SCANBANKCONn 1:0來配置,008-bit,019-bit,1010-bit,其復(fù)位值為00,即8bit。在實際工作中,如圖1所示,在第3個總線時鐘,nSCS為低電平,表示SDRAM被選中,并且地址線的Bank地址與相應(yīng)的行地址同時發(fā)出,這個命令稱之為“行有效”或“行激活”(Row Active)。此時SDRAM將行地址鎖存(nSRAS有效),但還沒有執(zhí)
8、行寫命令(nWE為高電平),因為沒有列地址(nSCAS為高電平),存儲單元無法確定。經(jīng)過Trcd(RAS至CAS延遲)后,SDRAM再次被選中(nSCS為低電平),此時nSCAS為低電平,指示SDRAM此時地址線上的地址為列地址,同時nWE有效,寫操作被執(zhí)行。可見發(fā)送列地址尋址命令與具體的操作命令(是讀還是寫),這兩個命令也是同時發(fā)出的,所以一般都會以“讀/寫命令”來表示列尋址,相關(guān)的列地址被選中之后,將會觸發(fā)數(shù)據(jù)傳輸。至此,S3C2410對SDRAM的尋址就完成了。可見,S3C2410將地址總線上的地址分成行地址和列地址并分開傳輸給SDRAM?;谏鲜龅膶ぶ窓C制,由BA1:0和12根地址線就
9、可以尋址32M或更大的地址空間了。圖 1 S3C2410 SDRAM時序圖2 存儲器控制器和相關(guān)引腳介紹S3C2410存儲器控制器主要有:總線帶寬和等待控制寄存器(BWSCON);總線控制寄存器(BANKCONN:nGCS0-nGCS5);BANK控制寄存器(BANKCONn:nGCS6-nGCS7);刷新控制寄存器(REFRESH);BANKSIZE寄存器;SDRAM模式寄存器集寄存器(MRSR)等,詳情請見參考文獻3。S3C2410提供了相關(guān)的引腳來控制存儲器訪問:組選擇信號:nGCS0-nGCS5,nGCS6(nSCS0),nGCS7(nSCS1)引腳用來選擇相應(yīng)的存儲器組。訪問控制信號
10、:為了實現(xiàn)ARM存儲器訪問指令LDR/STR字節(jié)、半字和字訪問的三種方式,在S3C2410的存儲器組中,除了Bank0以外的所有地址空間都可以通過編程設(shè)置為8位、16位或32位對準(zhǔn)訪問,Bank0可以設(shè)置為16位或32位。引腳nWBE3:0(寫字節(jié)使能)實現(xiàn)8bit ROM芯片組的三種訪問方式,或者SRAM不使用UB/LB(在BWSCON中設(shè)置)的情況下,與UB/LB連接。引腳nBE3:0(在使用SRAM情況下的字節(jié)允許信號)在SRAM使用UB/LB(是否使用可在BWSCON中設(shè)置)的情況下與UB/LB連接。DQM3:0(SDRAM數(shù)據(jù)屏蔽信號)引腳實現(xiàn)對SDRAM的三種訪問。還有nWAIT、
11、nXBREQ/nXBACK引腳。3 硬件電路設(shè)計在本嵌入式系統(tǒng)開發(fā)實驗中,S3C2410擴展的存儲系統(tǒng)采用了英國Intel公司的16M E28F128J3A-150 NOR Flash芯片,以及Hynix公司的32M HY57V561620B SDRAM芯片。地址空間分配如下:Flash為Bank0中的0x000000000x07FFFFFF地址段,而SDRAM為Bank6中的0x300000000x37FFFFFF地址段,具體的電路連接如圖2。圖 2 S3C2410 與Flash、SDRAM的電路連接圖4 存儲系統(tǒng)初始化U-Boot是德國DENX小組的開發(fā)用于多種嵌入式CPU的開放源代碼bo
12、otloader程序,目前最新版本是1.1.6,本實驗使用的是U-Boot-1.1.4。U-Boot是在ppcboot以及armboot的基礎(chǔ)上發(fā)展而來,現(xiàn)已非常成熟和穩(wěn)定,已經(jīng)在許多嵌入式系統(tǒng)開發(fā)過程中被采用。其支持多種目標(biāo)操作系統(tǒng),其中對Linux的支持最完善,是嵌入式Linux Bootloader的最佳選擇。由于本實驗Linux要移植的開發(fā)板是基于s3c2410的開發(fā)板,在U-Boot中已有移植成功的smdk2410開發(fā)板,故以smdk2410開發(fā)板上運行的U-Boot為模板設(shè)計適合本實驗的U-Boot。有關(guān)存儲系統(tǒng)的初始化修改如下:(1)Flash驅(qū)動程序采用了board/Cmi/F
13、lash.c,由于cmi中的flash.c在寫入時要交換字節(jié),因而刪除了它的write_short()和write_buff()函數(shù),利用board/ep7312/Flash.c中的write_word()和write_buff()函數(shù),并且把flash.c中的FLASH_BASE0_PRELIM改為CFG_FLASH_BASE。把FLASH_BLOCK_SIZE改為0x20000,(E28F128J3A flash中塊的大小是128K)。(2)Board/ smdk2410/smdk2410.c中函數(shù)dram_init()定義了SDRAM的真實地址和實際大小。由于本實驗中,SDRA
14、M的大小為32M,所以修改Include/configs/Smdk2410.h中的PHYS_SDRAM_1_SIZE,改為0x02000000。(3)將如下代碼替代原來在Include/configs/Smdk2410.h的/*FLASH and environment organization*/一欄中的內(nèi)容。#define PHYS_FLASH_1 0x00000000 /* Fla
15、sh Bank #1 */ #define PHYS_FLASH_SIZE 0x01000000 /* 16 MB */ #define CFG_FLASH_PROTECTION #define CFG_FLASH_BASE PHYS_FLASH_1 #define CFG_MONITOR_BASE PHYS_FLASH_1 #define
16、0;CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ #define CFG_MAX_FLASH_SECT 128 /* max number of sectors
17、60;on one chip */ #define CFG_FLASH_ERASE_TOUT (2*CFG_HZ) /* Timeout for Flash Erase */ #define CFG_FLASH_WRITE_TOUT (2*CFG_HZ) /* Timeout for Flash Write */ #define CFG_ENV_IS_IN_
18、FLASH 1 #define CFG_ENV_ADDR (PHYS_FLASH_1 + 0x60000) #define CFG_ENV_SIZE 0x20000 /* Total Size of Environment Sector */如上分析,SDRAM和Flash的初始化信息分別在smdk2410.c和flash.c文件中定義了,最后是通過lib_arm/board.c文件的display_dram_config()和display_flash_config()函數(shù)來顯示的。5 結(jié)束語本文結(jié)合實際實驗,分析了S3C2410的存儲系統(tǒng)原理,完成了其外
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地區(qū)總代理合同協(xié)議
- 保安臨時服務(wù)合同
- 歷史文物鑒賞知識點總結(jié)與試題
- 公司續(xù)簽勞動合同書
- 世界城市經(jīng)濟發(fā)展趨勢表
- u型渠道施工方案
- 排水管道安裝施工方案
- DB3709T 037-2025 泰山茶 茶葉鮮葉采摘分級技術(shù)規(guī)范
- 山東3d卡布燈箱施工方案
- 2025年抗甲狀腺藥項目發(fā)展計劃
- 新版理念篇-養(yǎng)老課件
- (新版教材)粵教版六年級下冊科學(xué)全冊課件
- 電子產(chǎn)品設(shè)計生產(chǎn)工藝流程課件
- 《概率論與數(shù)理統(tǒng)計》-教學(xué)教案
- 四年級下冊信息技術(shù)課件-14.西游故事人物記演示文稿|冀教版(共17張PPT)
- 調(diào)機品管理規(guī)定
- 員工證書獎勵和補貼管理辦法
- DB45∕T 396-2022 膨脹土地區(qū)建筑技術(shù)規(guī)程
- 300萬噸勝利原油常減壓裝置設(shè)計
- 部編人教版五年級上冊語文閱讀理解及答案(考題)
- DB51∕T 2866-2022 公共機構(gòu)合同能源管理與服務(wù)規(guī)范
評論
0/150
提交評論