版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一.CPU 地址分配:1. s3c2440A 的存儲(chǔ)器控制器有以下特性:. 大小端(通過軟件選擇). 地址空間:每個(gè)bank 有128M 的字節(jié)(總共1G 字節(jié)/8個(gè)banks ). 可編程的訪問位寬,bank0(16/32位 ,其他bank (8/16/32位). 共8個(gè)存儲(chǔ)器banks. 6個(gè)是ROM ,SRAM 等類型存儲(chǔ)器bank (bank0-bank5. 2個(gè)是可以作為ROM 、SRAM 、SDRAM 等存儲(chǔ)器bank (bank6-bank7. 7個(gè)固定的存儲(chǔ)器bank 起始地址(bank0-bank6. 最后一個(gè)bank 的起始地址可調(diào)整(bank7,接兩片sdram 時(shí). 接
2、在bank7上的sdram 會(huì)根據(jù)bank6上的結(jié)束地址而調(diào)整. 最后兩個(gè)bank 大小可編程. 所有存儲(chǔ)器bank 的訪問周期可編程. 總線訪問周期可通過插入外部wait 來延長. 支持SDRAM 的自刷新和掉電模式理論上,cpu 是32位的. 可以尋址的空間為2的32次方, 也就是4GB 的地址空間. 但我們cpu 只用了其中一1GB 多一點(diǎn)的空間, 其它的空間都是未到到. 且看下圖, 我們作一個(gè)感性認(rèn)識:圖1(1S3C2440A 的存儲(chǔ)器管理器提供訪問外部存儲(chǔ)器的所有控制信號,27位地址信號(ADDR26:0、32位數(shù)據(jù)信號(DATA31:0、8個(gè)片選信號(nGCS7:0、以及讀/寫控制
3、信號等.看圖1, 我們知道. 從0x40000000地址開始, 有片內(nèi)SRAM, 片內(nèi)寄存器, 還有未使用的空間. 這是都是固定的, 不能動(dòng)的. 留給我們用戶的只有0x00000000到0x3FFF FFFF 這1GB 的地址空間給我們用. 1GB 的地址空間我們需要30根地址線才能完全尋址完畢,2的30次方剛好等于1GB, 但是, 芯片引腳上只給出了27根地址(ADDR26:0,單靠芯片上的27根引腳, 它只能控制128M 的空間, 那3根線去哪里. 其實(shí)這3根線用在了3-8譯碼器(如:000表示00000001,001表示00000010,010表示00000100,011表示000010
4、00等等 的輸入端去了, 而這個(gè)3-8譯碼器的輸出端,就是對應(yīng)這nGCS07, 對應(yīng)著8個(gè)bank, 用于選擇當(dāng)前處于哪個(gè)bank, 這樣做的好處在于很模塊化結(jié)構(gòu)化了, 便于管理. 不會(huì)造成一片和手動(dòng)去分割地址.(2bank0-bank5為固定128MB,bank6和bank7的容量可編程改變,可以是2、4、8、16、32、64、128MB請看圖 2圖2所以.7個(gè)固定存儲(chǔ)器bank(bank0-bank6起始地址。bank7的開始地址與bank6的結(jié)束地址相連接,但是二者的容量必須相等,s3c2440最小可以支支持2MB(2MB一片, 只接bank6 最大支持是256MB(bank6接128M
5、B,bank7接128MB, 另需注意一點(diǎn)就是如果, 需要接兩片sdram 的話, 兩片的容量大小必須是一樣的. 看圖2就清楚了.(3bank0可以作為引導(dǎo)ROM 。其數(shù)據(jù)線寬只能是16位和32位,其它存儲(chǔ)器的數(shù)據(jù)線寬可以是8位、16位和32位(4地址:0x00000000-0x3FFF FFFF :分配了8個(gè)bank , 每個(gè)bank 有128MB 尋址空間, 每個(gè)bank 也都會(huì)有片選信號, 這8個(gè)bank 的地址提供給nandflash ,norflash,sdram 使用(下面sdram 的接入我們會(huì)祥細(xì)講解0x40000000-0x47FF FFFF :其中的前4KB 空間, 也就是
6、0x40000000到0x40001000為片內(nèi)SRAM 地址空間, 這就是所謂的steppingstone(下面s3c2440啟動(dòng)時(shí)會(huì)再討論steppingstone 的作用, 其它的空間未使用.0x48000000-0x5FFF FFFF :特殊功能寄存器,CPU 的寄存器都在這時(shí)定義和配置. 0x60000000-0xFFFF FFFF :這大概3G 的空間是沒有使用的.二.s3c2440接線規(guī)則: 圖31 SDRAM 接法規(guī)則, 分三步(以K4S561632E 為例:1-1. 需得到邏輯bank 的選擇IO: Bank Size:外接內(nèi)存容量大?。↘4S561632E 是4M*16bi
7、t*4Bank*2Chips/8=64MB)Bus Width:總線寬度(兩片16位K4S561632E ,并聯(lián)成32位)Base Component :單個(gè)芯片容量(bit(256Mb )Memory Configration :內(nèi)存配置((4M*16*4banks)*2Chips根據(jù)K4S561632E 的規(guī)格書(如圖4-1, 圖4-2 得到一些信息. 再結(jié)合圖3, 我們可以得到邏輯bank 的選擇I/OA25:241-2. 需要得到芯片的開始pin 號 :圖5我們選擇了兩片的K4S561632E sdram, 所以是32位的. 從A2開始,s3c2440的ADDR2-K4S561632E
8、 的A0s3c2440的ADDR3-K4S561632E 的A1如此類推.為什么要從ADD2開始了. 我們知道SDRAM 的尋址原理是一個(gè)存儲(chǔ)陣列, 如圖6: 圖6每一片的K4S561632E 有4個(gè)邏輯bank, 每個(gè)bank 有4M 個(gè)存儲(chǔ)單元, 每個(gè)存儲(chǔ)單元有16位. 這就是規(guī)格書所說的4M*16bit*4Bank=256Mbit.而2片K4S561632E 就有4M*4Bank*32bit=512Mbit =64MB,(市面上很少有32位寬的單片SDRAM, 一般選擇2片16位SDRAM 擴(kuò)展到32位寬內(nèi)存尋址一次, 就是行(ROW列(Column交叉一次, 得到一個(gè)存儲(chǔ)單元, 也就是
9、說內(nèi)存是以" 存儲(chǔ)單元(本例為4個(gè)字節(jié), 低16位與高16位合成一個(gè)存儲(chǔ)單元" 為單位的, 而不是以" 字節(jié)" 為單位的. 但是,cpu 尋址是以字節(jié)為單位的. 也就是說,cpu 移動(dòng)到下一個(gè)才一個(gè)字節(jié), 而本例內(nèi)存移動(dòng)到下一個(gè)就是4個(gè)字節(jié). 所以我們寫程序時(shí)常常說要字節(jié)對齊就是這個(gè)原因. 下面我舉例子具體說明一下:cpu 尋址內(nèi)存內(nèi)存返回給cpu00000000第0個(gè)單元(其實(shí)包含00000000至00000011這4個(gè)字節(jié)00000100第1個(gè)單元(其實(shí)包含00000100至00000111這4個(gè)字節(jié)00000101第1個(gè)單元(其實(shí)包含0000010
10、0至00000111這4個(gè)字節(jié) 因?yàn)閟3c2440沒接A1和A0, 所以相于邏輯與0xFFFF FF00, 取到內(nèi)存的4個(gè)字節(jié)后再用低兩位去選擇00001100第3個(gè)單元(其實(shí)包含00001100至00001111這4個(gè)字節(jié)如此類推.cpu 的第2位對應(yīng)了內(nèi)存的第0位. 也就是說cpu 的4, 而內(nèi)存看成是1, 他們的單位不同而已, 一個(gè)是字節(jié), 一個(gè)是存儲(chǔ)單位, 也就是位寬.同理,16位的位寬SDRAM 的A0應(yīng)該接到s3c2440的ADDR1上.結(jié)論:SDRAM的A0接到s3c2440的那一個(gè)引腳上是根據(jù)整個(gè)SDRAM 的位寬決定的. 1-3. 開始連接SDRAM 到s3c2440:圖7
11、2 norflash 接法規(guī)則,以 EN29LV160A 為例. 這個(gè) IC 位寬是通過引腳號為 47 的高低電平來選擇 BYTE/WORD,也就是有 8 位,16 位兩種 模式. Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 圖9 規(guī)則大同小異,我這里就不多說了. 3.NANDFLASH 接法規(guī)則,以 K9FXX08 為例: 三.s3c2440 系統(tǒng)啟動(dòng): Create PDF with GO2PDF for free, if yo
12、u wish to remove this line, click here to buy Virtual PDF Printer s3c2440 支持兩種啟動(dòng)模式:NAND 和非 NAND(這里是 nor flash) 。 具體采用的方式取決于 OM0、OM1 兩個(gè)引腳 OM1:0 所決定的啟動(dòng)方式 OM1:0=00 時(shí),處理器從 NAND Flash 啟動(dòng) OM1:0=01 時(shí),處理器從 16 位寬度的 ROM 啟動(dòng) OM1:0=10 時(shí),處理器從 32 位寬度的 ROM 啟動(dòng)。 OM1:0=11 時(shí),處理器從 Test Mode 啟動(dòng)。 1 當(dāng)引腳 OM0 跟 OM1 有一個(gè)是高電平時(shí),
13、這時(shí)地址 0 會(huì)映射到外部 nGCS0 片選的空間, 也就是 Norflash,程序就會(huì)從 Norflash 中啟動(dòng),arm 直接取 Norflash 中的指令運(yùn)行。 2 當(dāng) OM0 跟 OM1 都為低電平, 則 0 地址內(nèi)部 bootbuf(一段 4k 的 SRAM) 開始。 系統(tǒng)上電, arm 會(huì)自動(dòng)把 NANDflash 中的前 4K 內(nèi)容考到 bootbuf (也就是 0 地址) , 然后從 0 地址運(yùn)行。 Arm 的啟動(dòng)都是從 0 地址開始,所不同的是地址的映射不一樣。在 arm 開電的時(shí)候,要想 讓 arm 知道以某種方式(地址映射方式)運(yùn)行,不可能通過你寫的某段程序控制,因?yàn)檫@
14、時(shí)候你的程序還沒啟動(dòng),這時(shí)候 arm 會(huì)通過引腳的電平來判斷。 1 從 NorFlash 啟動(dòng)時(shí),與 nGCS0 相連的 NorFlash 就被映射到 nGCS0 片選的 Bank0 空間, 其地址被映射為 0x0000 0000; 2 從 NandFlash 啟動(dòng)時(shí),S3C2440 芯片內(nèi)部自帶的一塊容量為 4K 的被稱為“Steppingstone” (起步石) 的 BootRAM 被映射到 nGCS0 片選的 Bank0 空間, 其地址被映射為 0x0000 0000。 當(dāng)系統(tǒng)上電或復(fù)位時(shí), 程序會(huì)從 0x0 地址處開始執(zhí)行, 因此我們編寫的啟動(dòng)代碼要確保存儲(chǔ) 在 0 地址處。如果系統(tǒng)的
15、所有程序在編譯鏈接后的大小小于 4K,那在系統(tǒng)的啟動(dòng)代碼中無 需考慮將程序從 NandFlash 搬運(yùn)到 SDRAM 這個(gè)問題,因?yàn)樗械某绦蛟趩?dòng)時(shí)即全部由 NandFlash 拷貝至 BootSRAM,程序在 BootSRAM 中運(yùn)行即可;如果系統(tǒng)的所有程序在編譯 鏈接后的大小大于 4K ,那在系統(tǒng)的啟動(dòng)代碼中就需要包含一段將系統(tǒng)的全部程序從 NandFlash 搬運(yùn)到 SDRAM 的代碼,因?yàn)橄到y(tǒng)啟動(dòng)時(shí)只將 NandFlash 的前 4K 拷貝到了 BootSRAM 中,還有部分程序在 NandFlash 中,而程序在 NandFlash 中是無法運(yùn)行的,需要 將所有程序拷貝至 SDRAM 并在其中運(yùn)行,所以系統(tǒng)的啟動(dòng)代碼中要包含這段有關(guān)程序拷 貝的代碼,并在所有程序拷貝完成后使程序跳轉(zhuǎn)到 SDRAM 中運(yùn)行。也就是說 NandFlash 啟 動(dòng)時(shí)需要考慮到涉及的兩次搬移,第一次搬運(yùn)是 S3C2440 硬件機(jī)制自動(dòng)實(shí)現(xiàn)的,無需干預(yù), 第二次搬運(yùn)需要程序員來實(shí)現(xiàn),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公樓安全保衛(wèi)管理規(guī)定(4篇)
- 瑜伽體驗(yàn)課程設(shè)計(jì)教案
- 直線式灌裝機(jī)課程設(shè)計(jì)
- 2024年職業(yè)素養(yǎng)培訓(xùn)考試題庫(附答案)
- 自動(dòng)線plc課程設(shè)計(jì)
- 線上教學(xué)課程設(shè)計(jì)大賽
- 餐飲行業(yè)后勤管理工作總結(jié)
- 室內(nèi)設(shè)計(jì)師工作總結(jié)
- 餐飲行業(yè)的衛(wèi)生管理要點(diǎn)
- 客戶服務(wù)行業(yè)美工工作總結(jié)
- 甘肅蘭州生物制品研究所筆試題庫
- 醫(yī)院改擴(kuò)建工程可行性研究報(bào)告(論證后)
- 雙方共同招工協(xié)議書(2篇)
- 2021-2022學(xué)年第二學(xué)期《大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo)2》學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 期末檢測試卷(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué)青島版
- 國家開放大學(xué)電大本科《工程經(jīng)濟(jì)與管理》2023-2024期末試題及答案(試卷代號:1141)
- 客車交通安全培訓(xùn)課件
- 醫(yī)院勞務(wù)外包服務(wù)方案(技術(shù)方案)
- 水工-建筑物課件
- 張克非《公共關(guān)系學(xué)》(修訂版)筆記和課后習(xí)題詳解
- 2012雷克薩斯lx570lx460原廠中文維修手冊
評論
0/150
提交評論