www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]實(shí)驗(yàn)?zāi)康模焊淖儭包c(diǎn)燈大法”的執(zhí)行地點(diǎn),從NandFlash的Steppingstone轉(zhuǎn)到SDRAM中執(zhí)行,借此掌握存儲(chǔ)控制器的使用。實(shí) 驗(yàn)環(huán)境及說明:恒頤S3C2410開發(fā)板H2410。H2410核心板擴(kuò)展有64MB的SDRAM,用于設(shè)置程序堆棧和存放

實(shí)驗(yàn)?zāi)康模焊淖儭包c(diǎn)燈大法”的執(zhí)行地點(diǎn),從NandFlash的Steppingstone轉(zhuǎn)到SDRAM中執(zhí)行,借此掌握存儲(chǔ)控制器的使用。

實(shí) 驗(yàn)環(huán)境及說明:恒頤S3C2410開發(fā)板H2410。H2410核心板擴(kuò)展有64MB的SDRAM,用于設(shè)置程序堆棧和存放各種變量。SDRAM選用了兩 片三星公司的K4S561632(4M*16bit*4BANK),兩片拼成32位數(shù)據(jù)寬度的SDRAM存儲(chǔ)系統(tǒng),并映射到S3C2410的 SROM/SDRAM的BANK6,地址范圍是0x30000000~0x33FFFFFF。

實(shí) 驗(yàn)思路:開發(fā)板上電啟動(dòng)后,自動(dòng)將NandFlash開始的4K數(shù)據(jù)復(fù)制到SRAM中,然后跳轉(zhuǎn)到0地址開始執(zhí)行,然后初始化存儲(chǔ)控制器,把程序本身從 SRAM中復(fù)制到SDRAM中,最后跳轉(zhuǎn)到SDRAM中運(yùn)行。故問題的關(guān)鍵是SDRAM的初始化,根據(jù)S3C2410的Datasheet,要使用 SDRAM,就需配置存儲(chǔ)控制器的13個(gè)寄存器。

知識(shí)掌握:SDRAM和13個(gè)存儲(chǔ)控制器的寄存器。
一、SDRAM:
CPU 提供了一組用于SDRAM的信號(hào):SDRAM時(shí)鐘有效信號(hào)SCKE;SDRAM時(shí)鐘信號(hào)SCLK0/SCLK1;數(shù)據(jù)掩碼信號(hào)DQM0/DQM1 /DQM2/DQM3;SDRAM片選信號(hào)nGCS0(與nGCS6是同一引腳的兩個(gè)功能);SDRAM行地址選通脈沖信號(hào)nSRAS;SDRAM列地址 選通脈沖信號(hào)nSCAS;寫允許信號(hào)nWE(不是SDRAM專用的);
★SDRAM結(jié)構(gòu):SDRAM的內(nèi)部是一個(gè)存儲(chǔ)陣列,檢索時(shí)先指定一個(gè)行,再指定一個(gè)列,就可以準(zhǔn)確地找到所需要的單元格,這就是SDRAM尋址的基本原理;單元格被稱為存儲(chǔ)單元,表格就是邏輯BANK,SDRAM一般含有4個(gè)邏輯BANK。
★SDRAM 的訪問:SDRAM片選信號(hào)nGCS0有效;邏輯BANK選擇;對選中的芯片進(jìn)行統(tǒng)一的行/列尋址;CPU會(huì)從32位的地址中自動(dòng)分出 邏輯BANK選擇信號(hào)、行地址信號(hào)、列地址信號(hào),然后先后發(fā)出行地址信號(hào)、列地址信號(hào),邏輯BANK選擇信號(hào)在發(fā)出行地址信號(hào)的同時(shí)發(fā)出,并維持到列地址 信號(hào)結(jié)束;找到了存儲(chǔ)單元后,被選中的芯片就要進(jìn)行統(tǒng)一的數(shù)據(jù)傳輸了。
二、存儲(chǔ)控制器的寄存器:
★BWSCON(Bus width & wait status control register,總線位寬和等待狀態(tài)控制寄存器):此寄存器用于配置BANK0~BANK7的位寬和狀態(tài)控制,每個(gè)BANK用4位來配置,分別是:
● ST(啟動(dòng)/禁止SDRAM的數(shù)據(jù)掩碼引腳。對于SDRAM,此位置0;對于SRAM,此位置1)
● WS(是否使用存儲(chǔ)器的WAIT信號(hào),通常置0為不使用)
● DW(兩位,設(shè)置位寬。此板子的SDRAM是32位,故將DW6設(shè)為10)
特 殊的是bit[2:1],即DW0,設(shè)置BANK0的位寬,由板上的跳線決定,只讀的。其實(shí)只需將BANK6對應(yīng)的4位設(shè)為0010即可,在此處 BWSCON先設(shè)置為0x02000000。SDRAM接BANK6對應(yīng)的[27:24]位,同時(shí)注意BANK0比較特殊,如下圖所示:

'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" src="http://www.arm79.com/attachment/Mon_1005/73_67_39515ea9d909f2c.jpg" onclick="if(this.width>=700) window.open('http://www.arm79.com/attachment/Mon_1005/73_67_39515ea9d909f2c.jpg');" border="0" width="700">

'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" src="http://www.arm79.com/attachment/Mon_1005/73_67_03cf877c1a65f25.jpg" onclick="if(this.width>=700) window.open('http://www.arm79.com/attachment/Mon_1005/73_67_03cf877c1a65f25.jpg');" border="0" width="700">
★BANKCON0~BANKCON7: 用來分別配置8個(gè)BANK的時(shí)序等參數(shù)。SDRAM是映射到BANK6和BANK7上的(內(nèi)存只能映射到這兩個(gè)BANK,具體映射多大的空間,可用 BANKSIZE寄存器設(shè)置),所以只需參照SDRAM芯片的Datasheet配置好BANK6和BANK7,BANKCON0~BANKCON5使用 默認(rèn)值0x00000700即可。對于BANKCON6和BANKCON7中的各個(gè)位的描述:
●MT(bit[16:15]):設(shè)置本BANK映射的物理內(nèi)存是SRAM還是SDRAM,后面的低位就根據(jù)此MT的選擇而分開設(shè)置。本板子應(yīng)置0b11,所以只需要再設(shè)置下面兩個(gè)參數(shù)
●Trcd(bit[3:2]):RAS to CAS delay(00=2 clocks,01=3 clocks,10=4 clocks),推2410手冊上的薦值是0b01。我們PC的BIOS里也可以調(diào)節(jié)的,應(yīng)該玩過吧。
●SCAN(bit[1:0]):Column address number(00 = 8-bit,01 = 9-bit,10= 10-bit),SDRAM列地址位數(shù)。查閱K4S561632芯片手冊得知此值是9,所以SCAN=0b01。如果使用其他型號(hào)的SDRAM,您需要查 看它的數(shù)據(jù)手冊來決定SCAN的取值:00-8位、01-9位、10-10位。綜合以上各值,BANKCON6~BANKCON7設(shè)為 0x00018005。
★REFRESH(刷新控制寄存器):此寄存器的bit[23:11]可參考默認(rèn)值,或自己根據(jù)經(jīng)驗(yàn)修改,這里用 0x008e0000,關(guān)鍵是最后的Refresh Counter(簡稱R_CNT,bit[10:0])的設(shè)置,2410手冊上給出了公式計(jì)算方法。SDRAM手冊上“8192 refresh cycles/64ms”的描述,得到刷新周期為64ms/8192=7.8125us,結(jié)合公式,R_CNT=2^11 + 1 – 12 * 7.8125 = 1955。所以可得REFRESH=0x008e0000+1995=0x008e07a3。
●Trp([21:20]):設(shè)置為0即可。
●Tsrc([19:18]):設(shè)置默認(rèn)值即可。
★BANKSIZE: 設(shè)置SDRAM的一些參數(shù)。位[7]=1:Enable burst operation(0=ARM核禁止突發(fā)傳輸,1=ARM核支持突發(fā)傳輸);位[5]=1:SDRAM power down mode enable(0=不使用SCKE信號(hào)令SDRAM進(jìn)入省電模式,1=使用SCKE信號(hào)令SDRAM進(jìn)入省電模式);位[4]=1:SCLK is active only during the access (recommended);位[2:1]=010:BANK6、BANK7對應(yīng)的地址空間與BANK0-5不同。BANK0-5的地址空間都是固定的 128M,地址范圍是(x*128M)到(x+1)*128M-1,x表示0到5。但是BANK6-7的起始地址是可變的,您可以從S3C2410數(shù)據(jù)手 冊第5章"Table 5-1. BANK6-7 Addresses"中了解到BANK6-7的地址范圍與地址空間的關(guān)系。本開發(fā)板僅使用BANK6的64M空間,其中 BK76MAP(bit[2:0])配置BANK6/7映射的大小,可設(shè)置為010 = 128MB/128MB或001 = 64MB/64MB,只要比實(shí)際RAM大都行,多出來的空間程序會(huì)檢測出來,不會(huì)發(fā)生使用不存在的內(nèi)存的情況(Bootloader和Linux內(nèi)核都會(huì) 作內(nèi)存檢測)。BANKSIZE=0x000000b2。
★MRSRB6、MRSRB7(Mode register set register BANK6/7,SDRAM模式設(shè)置寄存器):可以修改的只有CL[6:4](CAS latency,000 = 1 clock, 010 = 2 clocks, 011=3 clocks),其他的全部是固定的(fixed),故值為0x00000030。SDRAM 不支持CL=1的情況,所以位[6:4]取值為010(CL=2)或011(CL=3),開發(fā)板保守的值為0b11。
至此,13個(gè)存儲(chǔ)控制器的寄存器全部介紹完了,下面就可以配置各寄存器的值,完成SDRAM初始化,實(shí)現(xiàn)代碼復(fù)制到SDRAM中執(zhí)行的操作(注:同樣的程序速度要比片內(nèi)SRAM運(yùn)行的慢)。

存儲(chǔ)控制器13個(gè)寄存器的設(shè)置值:
mem_cfg_val:
.long 0x02000000@BWSCON;此處只用到BANK6對應(yīng)的[27:24],其它位沒理會(huì),想理論上應(yīng)該可以?
.long 0x00000700@BANKCON0;BANKCON0~BANKCON5沒用到,使用默認(rèn)值0x00000700
.long 0x00000700@BANKCON1
.long 0x00000700@BANKCON2
.long 0x00000700@BANKCON3
.long 0x00000700@BANKCON4
.long 0x00000700@BANKCON5
.long 0x00018005@BANKCON6
.long 0x00018005@BANKCON7
.long 0x008e07a3@REFRESH
.long 0x000000b1@BANKSIZE
.long 0x00000030@MRSRB6
.long 0x00000030@MRSRB7

匯編過程主要代碼:

.equMEM_CTL_BASE, 0x48000000@ 定義存儲(chǔ)控制器寄存器基址
.equSDRAM_BASE, 0x30000000 @ 定義SDRAM起始地址

.text
.global _start
_start:
bldisable_watch_dog @ 去關(guān)門喂狗
blmem_control_setup@ 去設(shè)置存儲(chǔ)控制器
blcopy_steppingstone_to_sdram@ 復(fù)制代碼到SDRAM中
ldr pc, =on_sdram @ 跳到SDRAM中繼續(xù)執(zhí)行
on_sdram:
ldr sp, =0x34000000 @ 設(shè)置堆棧,執(zhí)行C點(diǎn)燈代碼
blmain
halt_loop:
b halt_loop

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉