日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SDRAM内存驱动 的学习

發布時間:2023/12/20 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SDRAM内存驱动 的学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

論壇里這樣說的:片內RAM不需要驅動,直接上電可以執行代碼!
當代碼要拷貝到片外SDRAM的時候,就要先初始化CPU內部的SDRAM控制器(也就是RAM驅動),由于片外的SDRAM可以兼容普通的SDRAM和高速DDR內存,每種型號的RAM延時,等待等周期各不同,為了匹配外部RAM時序獲得更高性能,當然要初始化RAM控制器,也就是RAM驅動!

SDRAM(Synchronous Dynamic Random Access Memory,同步動態隨機存儲器)也就是通常所說的內存。內存的工作原理、控制時序、及相關控制器的配置方法一直是嵌入式系統學習、開發過程中的一個難點。我們從其硬件的角度來分析其原理,然后再引出SDRAM的驅動編寫過程。

內存是代碼的執行空間,以PC機為例,程序是以文件的形式保存在硬盤里面的,程序在運行之前先由操作系統裝載入內存中,由于內存是RAM(隨機訪問存儲器),可以通過地址去定位一個字節的數據,CPU在執行程序時將PC的值設置為程序在內存中的開始地址, CPU會依次的從內存里取址,譯碼,執行,在內存沒有被初始化之前,內存好比是未建好的房子,是不能讀取和存儲數據的,因此我們要想讓MTOS運行在內存里必須進行內存的初始化。

通用存儲設備:

在介紹內存工作原理之前有必要了解下存儲設備的存儲方式:ROM,RAM

l? ROM(Read-Only Memory):只讀存儲器,是一種只能讀出事先所存數據的固態半導體存儲器。其特性是一旦儲存資料就無法再將之改變或刪除。通常用在不需經常變更資料的電子或電腦系統中,資料并且不會因為電源關閉而消失。如:PC里面的BIOS。

l? RAM(Random Access Memory) :隨機訪問存儲器,存儲單元的內容可按需隨意取出或存入,且存取的速度與存儲單元的位置無關的存儲器。可以理解為,當你給定一個隨機有效的訪問地址,RAM會返回其存儲內容(隨機尋址),它訪問速度與地址的無關。這種存儲器在斷電時將丟失其存儲內容,故主要用于存儲短時間內隨機訪問使用的程序。計算機系統里內存地址是一個四字節對齊的地址(32位機),CPU的取指,執行,存儲都是通過地址進行的,因此它可以用來做內存。

RAM按照硬件設計的不同,隨機存儲器又分為DRAM(Dynamic RAM)動態隨機存儲器和SRAM(Static RAM) 靜態隨機存儲器。

l? DRAM它的基本原件是小電容,電容可以在兩個極板上短時間內保留電荷,可以通過兩極之間有無電壓差代表計算機里的0和1,由于電容的物理特性,要定期的為其充電,否則數據會丟失。對電容的充電過程叫做刷新,但是制作工藝較簡單,體積小,便于集成化,經常做為計算機里內存制作原件。比如:PC的內存,SDRAM, DDR, DDR2, DDR3等,缺點:由于要定期刷新存儲介質,存取速度較慢。

l? SRAM它是一種具有靜止存取功能的內存,不需要刷新電路即能保存它內部存儲的數據。因此其存取速度快,但是體積較大,功耗大,成本高,常用作存儲容量不高,但存取速度快的場合,比如CPU的L1 cache,L2cache(一級,二級緩存) ,寄存器。

?

為了滿足開發的需要MINI2440在出廠時搭載了三種存儲介質:

(1)NOR FLASH(2M):ROM存儲器,通常用來保存BootLoader,引導系統啟動

(2)NAND FLASH(256M,型號不一樣,Nandflash大小不一樣):保存操作系統映像文件和文件系統

(3)SDRAM(64M):內存,執行程序

l? NORFLASH它的特點是支持XIP芯片內執行(eXecute In Place),這樣應用程序可以直接在Flash閃存內運行,不必再把代碼讀到系統RAM中,也就是說可以隨機尋址。NOR FLASH的成本較高。

l? NAND FLASH:它能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。其成本較低,不支持XIP。可做嵌入式里的數據存儲介質。如:手機存儲卡,SD卡等。

1.1.1?? S3C2440存儲器地址段(Bank)

S3C2440對外引出了27根地址線ADDR0~ADDR26,它最多能夠尋址128MB,而S3C2440的尋址空間可以達到1GB,這是由于S3C2440將1GB的地址空間分成了8個BANKS(Bank0~Bank7),其中每一個BANK對應一根片選信號線nGCS0~nGCS7,當訪問BANKx的時候,nGCSx管腳電平拉低,用來選中外接設備, S3C2440通過8根選信號線和27根地址線,就可以訪問1GB。如圖2-48所示。

?

圖2-48 S3C2440存儲器BANK

如圖所示,左側圖對應不使用Nandflash啟動時(通過跳線設置),存儲器Bank分布圖,通常在這種啟動方式里選擇Norflash啟動,將Norflash焊接在Bank0, 系統上電后,CPU從Bank0的開始地址0x00000000開始取指運行。

上圖右側是選擇從Nandflash引導啟動(通過跳線設置),系統上電后,CPU會自動將Nandflash里前4K的數據復制到S3C2440內部一個4K大小 SRAM類型存儲器里(叫做Steppingstone),然后從Steppingstone取指啟動。

其中Bank0~Bank5可以焊接ROM或SRAM類型存儲器,Bank6~Bank7可以焊接ROM,SRAM,SDRAM類型存儲器,也就是說,S3C2440的SDRAM內存應該焊接在Bank6~Bank7上,最大支持內存256M,Bank0~Bank5通常焊接一些用于引導系統啟動小容量ROM,具體焊接什么樣存儲器,多大容量,根據每個開發板生產商不同而不同,比如MINI2440開發板將2M的Norflash焊接在了Bank0上,用于存放系統引導程序Bootloader,將兩片32M,16Bit位寬SDRAM內存焊接在Bank6和Bank7上,并聯形成64M,32位內存。

由于S3C2440是32位芯片,理論上講可以達到4GB的尋址范圍,除去上述8個BANK用于連接外部設備,還有一部分的地址空間是用于設備特殊功能寄存器,其余地址沒有被使用。

表2-14 S3C2440設備寄存器地址空間

外接設備

起始地址

結束地址

存儲控制器

0x48000000

0x48000030

USB Host控制器

0x49000000

0x49000058

中斷控制器

0x4A000000

0x4A00001C

DMA

0x4B000000

0x4B0000E0

時鐘和電源管理

0x4C000000

0x4C000014

LCD控制器

0x4D000000

0x4D000060

NAND FLASH控制器

0x4E000000

0x4E000014

攝像頭接口

0x4F000000

0x4F0000A0

UART

0x50000000

0x50008028

脈寬調制計時器

0x51000000

0x51000040

USB設備

0x52000140

0x5200026F

WATCHDOG計時器

0x53000000

0x53000008

IIC控制器

0x54000000

0x5400000C

IIS控制器

0x55000000

0x55000012

I/O端口

0x56000000

0x560000B0

實時時鐘RTC

0x57000040

0x5700008B

A/D轉換器

0x58000000

0x58000010

SPI

0x59000000

0x59000034

SD接口

0x5A000000

0x5A000040

AC97音頻編碼接口

0x5B000000

0x5B00001C

1.1.2?? SDRAM內存工作原理

SDRAM的內部是一個存儲陣列。陣列就如同表格一樣,將數據“填”進去。在數據讀寫時和表格的檢索原理一樣,先指定一個行(Row),再指定一個列 (Column),我們就可以準確地找到所需要的單元格,這就是內存芯片尋址的基本原理,如圖2-49所示。

?

圖2-49內存行,列地址尋址示意圖

這個單元格(存儲陣列)就叫邏輯 Bank(Logical Bank,下文簡稱 L-Bank)。 由于技術、成本等原因,不可能只做一個全容量的 L-Bank,而且最重要的是,由于 SDRAM的工作原理限制,單一的 L-Ban k將會造成非常嚴重的尋址沖突,大幅降低內存效率。所以人們在 SDRAM內部分割成多個 L-Bank,目前基本都是 4個(這也是SDRAM規范中的最高L-Bank數量),由此可見,在進行尋址時就要先確定是哪個 L-Bank,然后在這個選定的 L-Bank中選擇相應的行與列進行尋址。因此對內存的訪問,一次只能是一個 L-Bank工作。如圖2-50:

?

圖2-50內存存儲單元

當對內存進行操作時(見下圖),先要確定操作L-Bank,因此要對L-Bank進行選擇。在內存芯片的外部管腳上多出了兩個管腳BA0, BA1,用來片選4個L-Bank。如前所述, 32位的地址長度由于其存儲結構特點,分成了行地址和列地址。通過下面的內存結構圖可知,內存外接管腳地址線只有13根地址線A0~A12,它最多只能尋址8M內存空間,到底使用什么機制來實現對64M內存空間進行尋址的呢?SDRAM的行地址線和列地址線是分時復用的,即地址要分兩次送出,先送出行地址(nSRAS行有效操作),再送出列地址(nSCAS列有效操作)。這樣,可以大幅度減少地址線的數目,提高器件的性能和制作工藝復雜度。但尋址過程也會因此而變得復雜。實際上,現在的SDRAM一般都以L-Bank為基本尋址對象的。由L-Bank地址線BAn控制L-Bank間的選擇,行地址線和列地址線貫穿連接所有的L-Bank,每個L-Bank的數據的寬度和整個存儲器的寬度相同,這樣,可以加快數據的存儲速度。同時,BAn還可以使未被選中的L-Bank工作于低功耗的模式下,從而降低器件的功耗。

?

?

圖2-51 HY57561620內部結構圖

?

開發板內存控制器管腳接線(以MINI2440開發板為例):

(1)確定BA0、BA1的接線

表2-15 BA0、BA1接線

?

?

Bank Size: 外接內存容量大小(HY57561620是4Mbit*16bit*4Bank*2Chips/8=64MB)

Bus Width: 總線寬度 (兩片16位HY57561620,并聯成32位)
Base Component:單個芯片容量(bit)(256Mb)
Memory Configration:內存配置 ((4M*16*4banks)*2Chips )

由硬件手冊Bank Address管腳連接配置表可知,使用A[25:24]兩根地址線作為Bank片選信號,正好兩根接線可以片選每個存儲單元的4個BANKS。

(2)確定其它接線

SDRAM內存是焊接在BANK6~BANK7上的,其焊接管腳,如圖2-52:

?

圖2-52 S3C2440 16位寬內存芯片

上圖是S3C2440提供的兩片16位芯片并聯連接示意圖,An是CPU地址總線,其中A2~A14為內存芯片尋址總線,之所以地址尋址總線從A2開始是因為內存地址都是按字節對齊的,,A24,A25為L-Bank片選信號,Dn為CPU數據總線,其它為對應控制信號線。

表2-16 內存芯片各管腳說明

外接管腳名

內接管腳名

全稱

描述

A2~A14

A0~A12

Address

地址線

D0 ~D31

DQ0~DQ31

Data Input/Output

數據線

A24,A25

BA0,BA1

Bank Address

L-BANK片選信號

DQM0~DQM3

LDQM, UDQM

Data Input/Output Mask

高,低字節數據掩碼信號

SCKE

SCKE

Clock Enable

輸入時鐘有效信號

SCLK

SCLK

Clock

輸入時鐘

nSCS0

nSCS

General Chip Select

片選信號(它與nGCS6是同一管腳的兩個功能)

nSRAS

nSRAS

Row Address Strobe

行地址選通信號

nSCAS

nSCAS

Column Address Strobe

列地址選通信號

nWE

newnWE

Write Enable

寫入有效信號

我們通過S3C2440 16位寬內存芯片接線圖可以看出,兩片內存芯片只有兩個地方不一樣,LDQM, UDQM和數據總線DQn接線方式不一樣。

由于存儲芯片位寬為16位,一次可以進行兩個字節的讀取。但是,通常操作系統里最小尋址單位是1字節,因此內存控制器必須要保證可以訪問內存里每一個字節。UDQM ,LDQM分別代表16位數據的高,低字節讀取信號,當讀取數據時,LDQM /UDQM分別用來控制16位數據中高低字節能否被讀取,當LDQM /UDQM為低電平時,對應的高/低字節就可以被讀取,如果LDQM /UDQM為高電平時,對應的高/低字節就不能被讀取。當向內存里寫入數據時,LDQM /UDQM控制數據能否被寫入,當LDQM /UDQM為低電平時,對應的高/低字節就可以被寫入,如果LDQM /UDQM為高電平時,對應的高/低字節就不能被寫入。通過對LDQM /UDQM信號的控制可以控制對兩個存儲芯片存儲數據,由于兩個存儲單元的地址線是通用的,他們都能接收到CPU發出的地址信號,但是,發給兩個存儲單元的LDQM /UDQM信號是不同的,以此來區分一個字的高低字節。

S3C2440A為32位CPU,也就是說其數據總線和地址總線寬度都是32位(可以理解為32根線一端連接CPU內部,另外一端連接向內存控制器),那么內存數據的輸入/輸出端也要保證是32位總線,MINI2440上采用兩片16位寬總線內存芯片并聯構成32位總線。其中一個芯片連接到CPU數據總線的低16位,另外一個芯片連接到數據總線上的高16位,并聯成32位總線,因此兩個芯片的輸入/輸出總線連接到CPU總線上的不同管腳上。

SDRAM內存驅動 的學習1.1.3?? SDRAM的讀操作

SDRAM進行讀操作時,先向地址線上送上要讀取數據的地址,通過前面的知識了解到,地址被分成3部分,行地址,列地址,L-Bank片選信號。片選(L-Bank的定址)操作和行有效操作可以同時進行。

在CS、L-Bank定址的同時,RAS(nSRAS行地址選通信號)也處于有效狀態。此時 An地址線則發送具體的行地址。A0~A12,共有13根地址線(可表示8192行),A0~A12的不同數值就確定了具體的行地址。由于行有效的同時也是相應 L-Bank有效,所以行有效也可稱為L-Bank有效。

行地址確定之后,就要對列地址進行尋址了。但是,地址線仍然是行地址所用的 A0~A12。沒錯,在SDRAM中,行地址與列地址線是復用的。列地址復用了A0~A8,共9根(可表示512列)。那么,讀/寫的命令是怎么發出的呢?其實沒有一個信號是發送讀或寫的明確命令的,而是通過芯片的可寫狀態的控制來達到讀/寫的目的。顯然WE信號(nWE)就是一個關鍵。WE無效時,當然就是讀取命令。有效時,就是寫命令。

SDRAM基本操作命令, 通過各種控制/地址信號的組合來完成(H代表高電平,L代表低電平,X表示高,低電平均沒有影響)。此表中,除了自刷新命令外,所有命令都是默認CKE(SCKEl輸入時鐘頻率有效)有效。列尋址信號與讀寫命令是同時發出的。雖然地址線與行尋址共用,但CAS(nSCAS列地址選通信號)信號則可以區分開行與列尋址的不同,配合A0~A8,A9~A11來確定具體的列地址。

讀取命令與列地址一塊發出(當WE為低電平是即為寫命令)然而,在發送列讀寫命令時必須要與行有效命令有一個間隔,這個間隔被定義為 tRCD,即RAS to CAS Delay(RAS至 CAS延遲),這個很好理解,在地址線上送完行地址之后,要等到行地址穩定定位后再送出列地址,tRCD是SDRAM的一個重要時序參數,相關數值參看對應芯片硬件手冊。通常tRCD以時鐘周期(tCK,Clock Time)數為單位,比如筆者MINI2440所用內存芯片里面寫到tRCD為20nst,如果將來內存工作在100MHz,那么RCD至少要為2個時鐘周期, RCD=2。

?

圖2-53 SDRAM讀操作時序圖

在選定列地址后,就已經確定了具體的存儲單元,剩下就是等待數據通過數據 I/O通道(DQ)輸出到內存數據總線上了。但是在列地址選通信號CAS 發出之后,仍要經過一定的時間才能有數據輸出,從CAS與讀取命令發出到第一筆數據輸出的這段時間,被定義為 CL(CAS Latency,CAS潛伏期)。由于CL只在讀取時出現,所以CL又被稱為讀取潛伏期(RL,Read Latency)。CL的單位與tRCD一樣,也是時鐘周期數,具體耗時由時鐘頻率決定(筆者官方手冊CL=3)。不過,CAS并不是在經過CL周期之后才送達存儲單元。實際上CAS與RAS一樣是瞬間到達的。由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經過放大來保證其有效的識別性,這個放大/驅動工作由S-AMP負責。但它要有一個準備時間才能保證信號的發送強度,這段時間我們稱之為tAC(Access Time from CLK,時鐘觸發后的訪問時間)。

1.1.4?? ?SDRAM預充電操作

從存儲體的結構圖上可以看出,原本邏輯狀態為1的電容在讀取操作后,會因放電而變為邏輯0。由于SDRAM的尋址具有獨占性,所以在進行完讀寫操作后,如果要對同一L-Bank的另一行進行尋址,就要將原先操作行關閉,重新發送行/列地址。在對原先操作行進行關閉時,DRAM為了在關閉當前行時保持數據,要對存儲體中原有的信息進行重寫,這個充電重寫和關閉操作行過程叫做預充電,發送預充電信號時,意味著先執行存儲體充電,然后關閉當前L-Bank操作行。預充電中重寫的操作與刷新操作(后面詳細介紹)一樣,只不過預充電不是定期的,而只是在讀操作以后執行的。

1.1.5?? ?SDRAM突發操作

突發(Burst)是指在同一行中相鄰的存儲單元連續進行數據傳輸的方式,連續傳輸所涉及到存儲單元(列)數量就是突發長度(Burst Length,簡稱BL)。

在目前,由于內存控制器一次讀/寫P-Bank位寬的數據,也就是8個字節,但是在現實中小于8個字節的數據很少見,所以一般都要經過多個周期進行數據的傳輸,上文寫到的讀/寫操作,都是一次對一個存儲單元進行尋址,如果要連續讀/寫,還要對當前存儲單元的下一單元進行尋址,也就是要不斷的發送列地址與讀/寫命令(行地址不變,所以不用再對地尋址)。雖然由于讀/寫延遲相同可以讓數據傳輸在I/O端是連續的,但是它占用了大量的內存控制資源,在數據進行連續傳輸時無法輸入新的命令效率很低。為此,引入了突發傳輸機制,只要指定起始列地址與突發長度,內存就會依次自動對后面相應長度數據的數據存儲單元進行讀/寫操作而不再需要控制器連續地提供列地址,這樣,除了第一筆數據的傳輸需要若干個周期(主要是之間的延遲,一般的是tRCD + CL)外,其后每個數據只需一個周期即可。

總結下:

SDRAM的基本讀操作需要控制線和地址線相配合地發出一系列命令來完成。先發出芯片有效命令(ACTIVE),并鎖定相應的L-BANK地址(BA0、BA1給出)和行地址(A0~A12給出)。芯片激活命令后必須等待大于tRCD(SDRAM的RAS到CAS的延遲指標)時間后,發出讀命令。CL(CAS延遲值)個時鐘周期后,讀出數據依次出現在數據總線上。在讀操作的最后,要向SDRAM發出預充電(PRECHARGE)命令,以關閉已經激活的L-BANK。等待tRP時間(PRECHAREG命令后,相隔tRP時間,才可再次訪問該行)后,可以開始下一次的讀、寫操作。SDRAM的讀操作支持突發模式(Burst Mode),突發長度為1、2、4、8可選。

1.1.6?? ?SDRAM寫操作

SDRAM的基本寫操作也需要控制線和地址線相配合地發出一系列命令來完成。先發出芯片有效命令,并鎖定相應的L-BANK地址(BA0、BA1給出)和行地址(A0~A12給出)。芯片有效命令發出后必須等待大于tRCD的時間后,發出寫命令數據,待寫入數據依次送到DQ(數據線)上。在最后一個數據寫入后,延遲tWR時間。發出預充電命令,關閉已經激活的頁。等待tRP時間后,可以展開下一次操作。寫操作可以有突發寫和非突發寫兩種。突發長度同讀操作。

?

圖2-54 SDRAM寫操作時序圖

1.1.7?? ?SDRAM的刷新

SDRAM之所以成為DRAM就是因為它要不斷進行刷新(Refresh)才能保留住數據,因此它是SDRAM最重要的操作。

刷新操作與預充電中重寫的操作一樣,都是用S-AMP先讀再寫。但為什么有預充電操作還要進行刷新呢?因為預充電是對一個或所有 L-Bank中的工作行操作,并且是不定期的,而刷新則是有固定的周期,依次對所有行進行操作,以保留那些很長時間沒經歷重寫的存儲體中的數據。但與所有L-Bank預充電不同的是,這里的行是指所有L-Bank中地址相同的行,而預充電中各L-Bank中的工作行地址并不是一定是相同的。那么要隔多長時間重復一次刷新呢?目前公認的標準是,存儲體中電容的數據有效保存期上限是64ms(毫秒,1/1000秒),也就是說每一行刷新的循環周期是64ms。這樣刷新時間間隔就是: 64m/行數s。我們在看內存規格時,經常會看到4096 Refresh Cycles/64ms或8192 Refresh Cycles/64ms的標識,這里的4096與8192就代表這個芯片中每個L-Bank的行數。刷新命令一次對一行有效,刷新間隔也是隨總行數而變化,4096行時為 15.625μs(微秒,1/1000毫秒),8192行時就為 7.8125μs。刷新操作分為兩種:Auto Refresh,簡稱AR與Self Refresh,簡稱SR。不論是何種刷新方式,都不需要外部提供行地址信息,因為這是一個內部的自動操作。對于 AR,SDRAM內部有一個行地址生成器(也稱刷新計數器)用來自動的依次生成行地址。由于刷新是針對一行中的所有存儲體進行,所以無需列尋址,或者說CAS在 RAS之前有效。所以,AR又稱CBR(CAS Before RAS,列提前于行定位)式刷新。由于刷新涉及到所有L-Bank,因此在刷新過程中,所有 L-Bank都停止工作,而每次刷新所占用的時間為9個時鐘周期(PC133標準),之后就可進入正常的工作狀態,也就是說在這9個時鐘期間內,所有工作指令只能等待而無法執行。64ms之后則再次對同一行進行刷新,如此周而復始進行循環刷新。顯然,刷新操作肯定會對SDRAM的性能造成影響,但這是沒辦法的事情,也是DRAM相對于 SRAM(靜態內存,無需刷新仍能保留數據)取得成本優勢的同時所付出的代價。SR則主要用于休眠模式低功耗狀態下的數據保存,這方面最著名的應用就是 STR(Suspend to RAM,休眠掛起于內存)。在發出AR命令時,將CKE置于無效狀態,就進入了SR模式,此時不再依靠系統時鐘工作,而是根據內部的時鐘進行刷新操作。在SR期間除了CKE之外的所有外部信號都是無效的(無需外部提供刷新指令),只有重新使CKE有效才能退出自刷新模式并進入正常操作狀態。

SDRAM相關寄存器:

(1)BWSCON寄存器(BUS WIDTH & WAIT CONTROL REGISTER)

表2-17 SDRAM控制寄存器(BWSCON)

?

?

?

根據開發板的存儲器配置和芯片型號,設置每個BANK焊接芯片的位寬和等待狀態

BWSCON,每4位對應一個BANK,這4位分別表示:

l? STx:啟動/禁止SDRAM的數據掩碼引腳(UB/LB),SDRAM沒有高低位掩碼引腳,此位為0,SRAM連接有UB/LB管腳,設置為1

l? 注:UB/LB數據掩碼引腳用來控制芯片讀取/寫入的高字節和低字節(對比硬件手冊SDRAM和SRAM的接線圖)

l? WSx:是否使用存儲器的WAIT信號,通常設為0

l? DWx:設置焊接存儲器芯片的位寬,筆者開發板使用兩片容量為32M,位寬為16的SDRAM組成64M,32位存儲器,因此DW7,DW6位設置為0b10,其它BANK不用設置采用默認值即可。

l? BANK0對應的是系統引導BANK,這4位比較特殊,它的設置是由硬件跳線決定的,因此不用設置

l? BWSCON設置結果:0x22000000

(2)BANKCON0~BANKCON5 (BANK CONTROL REGISTER)

表2-18 BANKCON0~BANKCON5控制寄存器(BANKCON0~BANKCON5)

?

這6個寄存器用來設置對應BANK0~BANK5的訪問時序,采用默認值0x700即可

(3)BANKCON6~BANKCON7 (BANK CONTROL REGISTER)

表2-19 BANKCON6~BANKCON7控制寄存器(BANKCON6~BANKCON7)

?

?

?

由于內存都焊接在這兩個BANK上,因此內存驅動主要是對這兩個寄存器進行設置

l? MT:設置BANK6~BANK7的存儲器類型,

00=ROM or SRAM 01=保留

10=保留 ??????? 11=SDRAM

內存為SDRAM,設置為0b11,對應的應該設置Trcd和SCAN位,其它位和SDRAM無關

l? Trcd:RAS to CAS Delay行地址選通到列地址選通延遲,這個參數請看后面的內存工作原理擴展部分解釋,筆者內存芯片為HY57V561620,由其芯片手冊可知其Trcd為最少20ns,如果內存工作在100MHz,則該值至少要為2個時鐘周期,通常設置為3個時鐘周期,因此設置為0b01

l? SCAN:SDRAM Column Address Number SDRAM的列地址數,筆者內存芯片為HY57V561620,列地址數為9,設置為0b01

l? BANK6,BANK7設置結果為:0x18005

(4)REFRESH (REFRESH CONTROL REGISTER)

表2-20刷新頻率設置寄存器(REFRESH)

?

?

?

SDRAM的刷新有效,刷新頻率設置寄存器(刷新)

l? REFEN:開啟/關閉刷新功能,設置為1,開啟刷新

l? TREFMD:SDRAM刷新模式,0=CBR/AutoRefresh,? 1=Self Refresh,設置為0,自動刷新

l? Trp:行地址選通預充電時間,一般設置為0b00即可

l? Tsrc:單行刷新時間,設置為0b11即可。

l? Refresh Counter:內存存儲單元刷新數,它通過下面公式計算出:

Refresh Counter = 2^11 + 1 – SDRAM時鐘頻率(MHz)* SDRAM刷新周期(uS)

SDRAM的刷新周期,也就是內存存儲單元間隔需要多久進行一次刷新,前面內存工作原理分析可知電容數據保存上限為64ms,筆者使用內存芯片每個L-Bank共有8192行,因此每次刷新最大間隔為:64ms/8192 = 7.8125uS,如果內存工作在外部晶振頻率12MHz下,Refresh Counter = 1955,如果內存工作在100MHz下,那么Refresh Counter = 1269(取大整數)

l? REFRESH寄存器設置為:

0x8e0000 + 1269 = 0x008e04f5(HCLK = 100MHz)

0x8e0000 + 1955 = 0x008e07a3(HCLK = 12MHz)

(5)BANKSIZE寄存器(BANKSIZE REGISTER)

表2-21 BANKSIZE寄存器(BANKSIZE)

?

?

設置內存的突發傳輸模式,省電模式和內存容量。

l? BURST_EN:是否開啟突發模式, 0 = ARM內核禁止突發傳輸 1 = 開啟突發傳輸,設置為1,開啟突發傳輸

l? SCKE_EN:是否使用SCKE信號作為省電模式控制信號, 0 = 不使用SCKE信號作為省電模式控制信號 1 = 使用SCKE信號作為省電模式控制信號,通常設置為1

l? SCLK_EN: 設置向存儲器輸入工作頻率,0 = 一直輸入SCLK頻率,即使沒有內存操作也會輸入, 1 = 僅當進行內存數據操作時才輸入SCLK頻率,通常設置為1

l? BK76MAP:設置Bank6/7的內存容量,筆者使用開發板內存為兩片32M內存芯片并聯成64M,它們全部都外接到Bank6上,因此選擇0b001

l? BANKSIZE寄存器設置為:0xb1

(6)SDRAM模式設置寄存器MRSRx (SDRAM MODE REGISTER SET REGISTER)

表2-22 SDRAM模式設置寄存器(MRSRx)

?

?

?

該寄存器用于設置CAS潛伏周期,可以手動設置的位只有CL[6:4]位,通過前面內存工作原理可知,筆者使用開發板CL=3,即0b011

l? MRSR6,MRSR7設置為:0x00000030

1.1.8?? 內存驅動實驗

設置該工程加載時運行時地址為0x30000000,如圖2-55所示:

?

圖2-55設置加載時運行時地址

init.s:本程序文件主要實現了,關閉看門狗,初始化內存,拷貝ROM數據到內存中,然后跳往內存中執行xmain函數,從xmain函數返回之后,將全部led點亮,進入死循環。

[cpp]?view plaincopyprint?
  • ;??
  • ;?內存初始化實驗??
  • ;??
  • AREA?Init,?CODE,?READONLY??
  • ENTRY??
  • start??
  • ;?close?watchdog??
  • ldr?r0,?=?0x53000000??????????????????????;?將看門狗控制寄存器地址放入r0??
  • mov?r1,?#0?????????????????????
  • str?r1,?[r0]????????????????????????????????????????;?設置看門狗控制寄存器的值為0??
  • ???
  • bl?initmem???????????????????????????????????????;?跳轉到initmem代碼段,初始化內存??
  • ???
  • bl?copyall?????????????????????????????????????????;?跳轉到數據拷貝代碼段,將ROM中數據拷貝到內存中??
  • ???
  • IMPORT?xmain??????????????????????????????;?引入main.c中的xmain函數??
  • ldr?sp,?=0x34000000???????????????????????;?調用C程序之前先初始化棧指針??
  • ldr?lr,?=endxmain?????????????????????????????;?設置xmain函數的返回地址??
  • ldr?pc,?=xmain?????????????????????????????????;?跳轉到C程序中的xmain函數的入口處執行??
  • ???
  • endxmain??
  • ?ldr?r0,?=0x56000010??????????????????????;?LED的GPIO接口配置寄存器??
  • ldr?r1,?=0x00015400???????????????????????;?GPIO配置數據??
  • str?r1,?[r0]?????????????????????????????????????;?設置GPIO??
  • ldr?r0,?=0x56000014????????????????????;?LED控制寄存器地址??
  • ldr?r1,?=0x0??????????????????????????????????;?全部LED亮??
  • str?r1,[r0]????
  • loop??
  • ????b?loop???????????????????????????????????????;?死循環??
  • ???
  • copyall????????
  • IMPORT?|Image$RO$Base|?????????????????;?引入編譯器Image$RO$Base符號變量??
  • IMPORT?|Image$RW$Limit|????????????????;?引入編譯器Image$RW$Limit符號變量??
  • ldr?r0,?=?|Image$RO$Base|?????????????????????;?取得Image$RO$Base域基址的值??
  • ldr?r1,?=?|Image$RW$Limit|??????????????????;?取得Image$RW$Base域結束地址的值??
  • ldr?r2,?=0x0??????????????????????????????????????????????;?數據拷貝源地址??
  • copyallloop??
  • teq?r0,r1????????????????????????????????????????????????????;?測試是否拷貝完成??
  • beq?quitcopyallloop??????????????????????????????????;?拷貝完成,跳往quitcopyallloop退出??
  • ldr?r3,?[r2],?#4???????????????????????????????????????????;?四字節加載??
  • str?r3,?[r0],?#4???????????????????????????????????????????;?四字節存儲??
  • b?copyallloop????????????????????????????????????????????;?返回繼續執行??
  • quitcopyallloop??
  • mov?pc,?lr?????????????????????????????????????????????????;?調用返回??
  • ???
  • initmem?????????????????????????????????????????????????????;?內存初始化??
  • ldr?r0,?=0x48000000????????????????????????????????;?加載內存相關寄存器首地址r0??
  • ldr?r1,?=0x48000034????????????????????????????????;?加載內存相關寄存器尾地址到r1??
  • adr?r2,?memdata??????????????????????????????;?將寄存器配置數據地址段首地址加載到r2??
  • initmemloop??
  • ldr?r3,?[r2],?#4???????????????????????????????????????????;?循環設置存寄存器??
  • str?r3,?[r0],?#4??
  • teq?r0,?r1??
  • bne?initmemloop???????????????????????????????????????;?循環到最后一個寄存器時退出函數??
  • mov?pc,lr?????????????????????????????????????????????????????????????
  • ???
  • memdata??
  • DCD?0x22000000?????????????????;BWSCON??
  • DCD?0x00000700?????????????????;BANKCON0??????
  • DCD?0x00000700?????????????????;BANKCON1??????
  • DCD?0x00000700?????????????????;BANKCON2??????
  • DCD?0x00000700???????????????;BANKCON3???????????????
  • DCD?0x00000700?????????????????;BANKCON4??????
  • DCD?0x00000700?????????????????;BANKCON5??????
  • DCD?0x00018005?????????????????;BANKCON6??????
  • DCD?0x00018005?????????????????;BANKCON7??????
  • DCD?0x008e07a3??????????????????;REFRESH??????????
  • DCD?0x000000b1?????????????????;BANKSIZE????????
  • DCD?0x00000030?????????????????;MRSRB6???
  • DCD?0x00000030?????????????????;MRSRB7??
  • ???
  • END??
  • main.c:本程序文件主要實現led燈的初始化,然后四個led燈循環滾動亮5遍,xmain函數返回。??
  • /*?C語言函數?*/??
  • /*?端口F寄存器預定義?*/??
  • #define????????GPBCON???????????(*(volatile?unsigned?long?*)0x56000010)??
  • #define????????GPBDAT????????????(*(volatile?unsigned?long?*)0x56000014)??
  • #define???????LEDS???????????????(1<<5|1<<6|1<<7|1<<8)??
  • #define???????DELAYVAL????(0x1ffff)??
  • extern?int?delay(int?time);????????/*?聲明外部聲明匯編函數?*/??
  • ???
  • int?i?=?5;??
  • int?xmain()??
  • {??
  • ?????????GPBCON??=?0x00015400;??????????//GPF4--GPF7設置為output??
  • ?????????while(i?>?0)?{??
  • ????????????????????//第一個LED燈亮??
  • ?????????????GPBDAT=(GPBDAT&(~LEDS))?|?(1<<6|1<<7|1<<8);??
  • ??????????????delay(DELAYVAL);??????????????//調用匯編語言編寫的延時程序??
  • ????????
  • ????????????????????//第二個LED燈亮??
  • ?????????????GPBDAT=(GPBDAT&(~LEDS))?|?(1<<5|1<<7|1<<8);??
  • ?????????????delay(DELAYVAL);??????????????//調用匯編語言編寫的延時程序??
  • ????????
  • ????????????????????//第三個LED燈亮??
  • ?????????????GPBDAT=(GPBDAT&(~LEDS))?|?(1<<5|1<<6|1<<8);??
  • ?????????????delay(DELAYVAL);???????????????????????//調用匯編語言編寫的延時程序????????
  • ???????
  • ????????????????????//第四個LED燈亮??
  • ?????????????GPBDAT=(GPBDAT&(~LEDS))?|?(1<<5|1<<6|1<<7);??
  • ?????????????delay(DELAYVAL);???????????????????????//調用匯編語言編寫的延時程序??
  • ?????????????i--;????????
  • ????}??
  • ????return?0;??
  • ?}??

  • delay.s:本程序文件主要通常匯編來實現延時功能。

    [cpp]?view plaincopyprint?
  • ;匯編指令延時程序???????
  • EXPORT?delay??
  • AREA??DELAY,CODE,READONLY??????????;該偽指令定義了一個代碼段,段名為Init,屬性只讀??
  • ;下面是延遲子程序??
  • delay??
  • ?????????sub?r0,r0,#1?????????????;r0=r0-1?????????????
  • ???????????cmp?r0,#0x0?????????????;將r0的值與0相比較??
  • ???????????bne?delay?????????????????;比較的結果不為0(r0不為0),繼續調用delay,否則執行下一條語句??
  • ???????????mov?pc,lr?????????????????;返回??
  • ????
  • ?END?????????????????????????????;程序結束符??
  • 內存的初始化也可以用下面的C程序實現:

    C語言版本:

    [cpp]?view plaincopyprint?
  • #define???????MEM_CTL_BASE???????????????0x48000000??
  • #define???????MEM_CTL_END????????????????0x48000034??
  • /*?SDRAM?13個寄存器的值?*/??
  • unsigned?long??const????mem_cfg_val[]={?????????//?聲明數組存放內存控制器設置數據??
  • ???????????0x22000000,????????????????//BWSCON??
  • ???????????0x00000700,????????????????//BANKCON0??
  • ???????????0x00000700,????????????????//BANKCON1??
  • ???????????0x00000700,????????????????//BANKCON2??
  • ???????????0x00000700,????????????????//BANKCON3?????
  • ???????????0x00000700,????????????????//BANKCON4??
  • ???????????0x00000700,????????????????//BANKCON5??
  • ???????????0x00018005,????????????????//BANKCON6??
  • ???????????0x00018005,????????????????//BANKCON7??
  • ???????????0x008e07a3,?????????????????//REFRESH(HCLK?=?12MHz,該值為0x008e07a3??
  • ????????????????????????????????????????????????//HCLK?=?100MHz?0x008e04f5)??
  • ???????????0x000000b1,????????????????//BANKSIZE??
  • ???????????0x00000030,????????????????//MRSRB6??
  • ???????????0x00000030,????????????????//MRSRB7??
  • };??
  • void?mem_init(void)??
  • {??
  • ?????????int????i?=?0;??
  • ?????????unsigned?long?*p?=?(unsigned?long?*)MEM_CTL_BASE;??
  • ?????????for(;?i?<?(MEM_CTL_END?-?MEM_CTL_BASE)/4;?i++)??
  • ????????????????????p[i]?=?mem_cfg_val[i]; ?
  • 總結

    以上是生活随笔為你收集整理的SDRAM内存驱动 的学习的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产成人综合在线观看 | 成人黄色免费观看 | 久久国产美女视频 | 国产女教师精品久久av | 91黄站| 中文字幕色在线视频 | 亚洲人成影院在线 | 久久五月网 | 成人午夜影院在线观看 | 夜夜躁狠狠燥 | 黄色在线免费观看网址 | 日韩精品中文字幕久久臀 | 九九热在线精品 | 五月婷婷精品 | 日本久久高清视频 | 伊人手机在线 | 精品日韩中文字幕 | 一区 二区 精品 | 久久99热精品这里久久精品 | 久久综合色8888 | 黄污污网站 | 米奇影视7777 | 日韩视频二区 | 亚洲视频精选 | 黄色成人av | 久久一区二区三区四区 | 国产视频综合在线 | 日韩在线网 | 在线观看91精品国产网站 | 国产精品第2页 | 免费高清在线观看电视网站 | 国产不卡在线观看 | 91在线精品播放 | 免费看黄色小说的网站 | 亚洲九九九在线观看 | 久久久久99精品国产片 | 免费国产亚洲视频 | 亚洲色图美腿丝袜 | 深夜免费小视频 | 中文字幕视频播放 | 91日韩国产 | 91高清在线看 | 99免费在线视频观看 | 天天干天天综合 | 99精品视频免费看 | 久久久久久免费网 | 毛片网站免费 | 国产黄影院色大全免费 | 在线观看91精品视频 | 日韩电影在线一区 | 在线观看视频91 | 免费亚洲黄色 | 在线免费精品视频 | 91视频麻豆视频 | 激情五月六月婷婷 | 在线有码中文字幕 | 国产伦精品一区二区三区高清 | 超碰97公开 | 五月婷婷深开心 | 97在线免费视频 | 五月天综合婷婷 | 狠狠色噜噜狠狠 | 人人干干人人 | 国产美女无遮挡永久免费 | 免费在线观看亚洲视频 | 亚洲国产日本 | 黄色一级免费 | 17videosex性欧美 | 久草免费在线观看视频 | 91在线免费观看国产 | 久久久久久毛片精品免费不卡 | 精品久久久久久久久中文字幕 | 日韩色中色| 国产精品青青 | 亚洲第一av在线播放 | 国产高清视频在线免费观看 | 天天干天天搞天天射 | 欧美性粗大hdvideo | 国产精品去看片 | 日日夜夜天天射 | 在线观看中文字幕亚洲 | 日日爱网址 | 色之综合网 | 日韩中文字幕在线不卡 | 国产精品视频你懂的 | 国产区精品区 | 天天草天天爽 | 五月婷婷,六月丁香 | 日韩高清一二区 | avove黑丝| 中文av不卡 | 一级成人免费 | 欧美日韩一区二区三区不卡 | 久久深夜福利免费观看 | 久久免费视频一区 | 韩国av一区 | 果冻av在线 | 国产日韩欧美在线观看视频 | 国产精品99久久久久人中文网介绍 | 国产精品永久在线 | 91污污视频在线观看 | 欧美激情综合五月 | 999国产在线| 99久久久国产精品美女 | 综合伊人av | 超碰97国产精品人人cao | 西西444www大胆高清图片 | 亚洲激情精品 | 激情网五月 | 国产91精品久久久久久 | 2024国产精品视频 | 日韩视频三区 | 91丨porny丨九色 | 天天射夜夜爽 | 久久夜色精品国产欧美一区麻豆 | 婷婷 综合 色| 欧美伊人网 | 亚洲精品自拍 | 色大片免费看 | 亚洲成人精品在线观看 | 国产高清av | 久久久久激情 | 日韩精品免费一区二区在线观看 | 国产一级免费在线 | 国产精品一区二区三区在线播放 | 免费特级黄色片 | 六月激情丁香 | 精品久久久久久亚洲综合网站 | 成年人av在线播放 | av片中文字幕 | 激情久久伊人 | 天天干天天在线 | 日韩激情中文字幕 | 欧美久久精品 | 国产一级二级视频 | 亚洲.www| 国产精品porn| 99精品欧美一区二区 | 日韩在线观看电影 | bbw av| 日韩大片在线播放 | 五月天丁香 | 成人黄色小视频 | 97人人澡人人爽人人模亚洲 | 日日操日日插 | 天天色天天骑天天射 | 亚洲在线黄色 | 亚洲视频专区在线 | 在线观看日本高清mv视频 | 免费黄色小网站 | 国产日产精品久久久久快鸭 | 亚洲一区视频免费观看 | 国内精品久久影院 | 999久久久久久久久6666 | 国产69久久久欧美一级 | 99精品免费在线 | 日日干网址 | 99免费看片 | av激情五月| 91在线观看高清 | 日韩欧美第二页 | 国产精品久久久久久久午夜片 | 在线免费黄| 一本一道久久a久久精品 | 天天干天天摸天天操 | 成人免费网视频 | 国产黄免费在线观看 | 亚洲日本一区二区在线 | 婷婷丁香狠狠爱 | 九九热精品国产 | 99热亚洲精品 | 日韩欧美在线视频一区二区三区 | 毛片随便看 | 欧美一区二区三区在线 | 久久综合精品国产一区二区三区 | 中文字幕av影院 | 99精品一区二区三区 | 最近更新好看的中文字幕 | 91九色视频在线 | 久久亚洲美女 | 色干干 | 日本护士撒尿xxxx18 | 99视频精品免费视频 | 黄污网站在线 | 成人av直播 | 成人黄色小说网 | 视频一区在线免费观看 | 国产一级二级视频 | 日夜夜精品视频 | 天天色天天色天天色 | 91福利影院在线观看 | 97超碰人人爱 | 久久久久久蜜av免费网站 | 国产精品免费小视频 | 色五月激情五月 | 国产精品a成v人在线播放 | 免费看黄色小说的网站 | 久久婷婷五月综合色丁香 | 在线观看视频黄色 | 91中文字幕网 | 日日麻批40分钟视频免费观看 | 国产精品久久久久一区二区三区共 | 欧美色综合天天久久综合精品 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲综合视频网 | 日韩激情影院 | 91人人爱| 亚洲欧美日韩国产 | 色视频在线免费 | 久久九九精品 | 日韩视频在线一区 | 久草资源在线观看 | 国产精品永久在线观看 | 久久久久久久久久网 | 日日草夜夜操 | 激情五月***国产精品 | 在线观看精品黄av片免费 | 国产精品久久久久久一区二区 | a视频免费看 | 亚洲成年人在线播放 | 免费看毛片在线 | 亚洲a成人v | 日本特黄特色aaa大片免费 | 黄色福利网站 | 欧美肥妇free | 在线a人v观看视频 | 久久久影视 | 日韩久久久久久 | 午夜精品婷婷 | 免费av 在线| 婷婷伊人网 | 色视频国产直接看 | 中文在线免费看视频 | 色成人亚洲网 | 国产在线精品一区二区 | 国产高清小视频 | 国产成人一区二区在线观看 | 在线观看视频在线观看 | 久久免费的视频 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 欧美a级片免费看 | 国产在线精品国自产拍影院 | 久久国产区 | 91视频这里只有精品 | 九九在线视频免费观看 | 欧美精品免费视频 | 久久大香线蕉app | 婷婷色在线资源 | 99久久综合国产精品二区 | 久久精品视频国产 | 日韩中文字幕免费电影 | 国产高清精 | 不卡的av在线 | 超碰人人射| 在线观看亚洲精品视频 | 久久99国产一区二区三区 | 天天天天射 | 久久免费观看少妇a级毛片 久久久久成人免费 | 99婷婷狠狠成为人免费视频 | 精品一区二区久久久久久久网站 | 亚洲精品久久久久久久不卡四虎 | 成人免费网站在线观看 | 久久精品一区二区三区视频 | 国产乱对白刺激视频不卡 | 成人av在线电影 | 天天干天天综合 | 九色在线 | 97超碰精品 | 亚洲日本激情 | 日韩黄色av网站 | 久久露脸国产精品 | 人人干天天干 | 欧美国产日韩中文 | 在线观看精品视频 | 亚洲国产精品va在线 | 免费看的黄色 | 婷婷在线视频观看 | 日本丰满少妇免费一区 | 中文不卡视频在线 | 插婷婷| 国产成人在线免费观看 | 91亚洲精品久久久蜜桃 | 久久日本视频 | 国产高清精品在线观看 | 97超碰免费在线 | 成年人视频在线免费 | 18av在线视频 | 麻豆系列在线观看 | 成人性生活大片 | 精品免费一区二区三区 | 视频一区二区三区视频 | 精品一区久久 | 亚洲精品a区 | www.伊人网.com| 久久国产精品二国产精品中国洋人 | 久久久久久久久电影 | 九九热只有这里有精品 | 一区二区三区高清在线 | 久久精选 | 久久av免费 | 91中文在线视频 | 国产精品日韩在线 | 玖玖视频免费在线 | 国产婷婷vvvv激情久 | 就要干b| 成人毛片a | 91在线精品观看 | 精品国偷自产在线 | 欧美国产日韩激情 | 日韩欧美视频在线播放 | 国产第一页在线观看 | 婷婷精品视频 | 91探花国产综合在线精品 | 亚洲在线成人精品 | 24小时日本在线www免费的 | 亚洲一区免费在线 | 2023年中文无字幕文字 | 国产色综合天天综合网 | 国产日韩精品一区二区三区在线 | 午夜神马福利 | 五月天激情视频在线观看 | 69国产成人综合久久精品欧美 | 亚洲午夜精品电影 | 亚洲做受高潮欧美裸体 | 国内免费久久久久久久久久久 | 天天插天天狠 | 五月婷影院 | 制服丝袜欧美 | 美州a亚洲一视本频v色道 | 日韩午夜av| 成人黄色小说在线观看 | 69国产成人综合久久精品欧美 | 午夜精品一区二区三区在线视频 | 91成人观看 | 69av视频在线观看 | 成人小视频在线 | 国产精品video爽爽爽爽 | 国产精品网址在线观看 | 色狠狠综合天天综合综合 | 99国产情侣在线播放 | 成年人免费电影 | 五月花婷婷 | 日韩午夜精品福利 | 亚洲一区二区精品在线 | 五月天国产精品 | 丁香六月久久综合狠狠色 | 免费色视频网站 | 久久撸在线视频 | 国产精品亚洲精品 | 伊人网综合在线观看 | 免费在线观看视频一区 | 青青啪 | 亚洲永久精品视频 | 国产区在线看 | 午夜精品久久久久 | 99久久激情视频 | 欧美天天干 | 日韩在线播放视频 | 欧美另类视频 | 成人丝袜 | 久久人人爽人人爽人人片av软件 | 欧美一级性生活 | 国产亚洲视频系列 | 韩国三级在线一区 | 在线免费观看的av网站 | 天天干天天操天天射 | 欧美一区在线观看视频 | 日韩精品久久久久久中文字幕8 | 日韩在线理论 | 国产精品va最新国产精品视频 | 国产第一页在线播放 | 日韩精品 在线视频 | 国内外激情视频 | 在线亚洲午夜片av大片 | 国产一区免费在线观看 | 欧美精品久久久久久久久老牛影院 | 精品日本视频 | av片在线看| 日韩影片在线观看 | 日日干精品 | 91精品播放 | 成年人黄色免费视频 | 97碰碰精品嫩模在线播放 | 国产高清视频在线观看 | 亚洲精品国产拍在线 | 久久精品福利 | 免费中文字幕视频 | 久草在线资源视频 | 69亚洲视频 | 在线观看中文字幕第一页 | 国产精品完整版 | 日韩二区三区在线观看 | 亚洲综合视频在线 | 久久久国产精品一区二区三区 | 国产精品 日韩精品 | 亚洲另类久久 | v片在线看 | 四川妇女搡bbbb搡bbbb搡 | 久草影视在线观看 | 婷婷色在线播放 | 亚洲精品456在线播放 | 91在线蜜桃臀 | 综合久久久久久 | 欧美激情视频免费看 | 国产精品一区二区久久 | 免费色视频网站 | 欧美激情第一区 | 中文字幕免费国产精品 | 国产一级电影 | 国产91精品看黄网站在线观看动漫 | 九九精品在线观看 | 香蕉视频国产在线观看 | 欧美日韩在线看 | 亚洲区二区 | 午夜av一区| 超碰在线人人草 | 2022久久国产露脸精品国产 | 在线观看久久久久久 | 婷婷色亚洲 | 日日爽夜夜操 | 欧美性久久久 | 色婷婷久久久 | 亚洲国产欧美一区二区三区丁香婷 | 开心丁香婷婷深爱五月 | 色久网| 丁香综合五月 | 最近中文字幕在线播放 | www黄色大片 | 国产人成精品一区二区三 | 麻豆91在线播放 | 奇米影视8888 | 日日综合| 午夜久操| 国产成人精品国内自产拍免费看 | 精品福利av | 国产97av| 91香蕉视频| 伊人精品在线 | 97超碰在线资源 | 欧美极品xxxxx | 狠狠操狠狠干天天操 | 国内精品久久天天躁人人爽 | 麻豆传媒视频观看 | 91在线播 | 亚洲理论电影 | 国产高清日韩 | 中文字幕在线一区观看 | 麻豆免费精品视频 | 波多野结衣在线视频一区 | 99精品欧美一区二区蜜桃免费 | 国产精品18久久久久久久久久久久 | 狠狠躁天天躁 | 99久久精品久久亚洲精品 | 久久只精品99品免费久23小说 | 久久精品91视频 | 亚洲男人天堂a | 正在播放亚洲精品 | 成人丁香花 | 一区二区视频在线看 | 久久久九色精品国产一区二区三区 | 91禁看片 | 欧美精品久久久久久久 | 狠狠色综合网站久久久久久久 | 天天爽天天爽天天爽 | 91精品视频一区二区三区 | 激情深爱.com | www.天天色.com| 99精品视频免费看 | 久久综合久久综合九色 | 国产精品mv | 国产二区av | 精品在线看 | 久久久久国产免费免费 | 人人搞人人爽 | 国产一区二区久久久 | 欧美极品少妇xbxb性爽爽视频 | 中国一区二区视频 | 91视频免费网址 | 国产黄 | 91在线porny国产在线看 | 日日射天天射 | 免费无遮挡动漫网站 | 成人视屏免费看 | av免费观看网址 | 欧美大片大全 | 91久久精品日日躁夜夜躁国产 | 337p日本大胆噜噜噜噜 | 亚洲天堂网视频 | 一区二区在线电影 | 精品国产观看 | 热99久久精品 | 国产精品久久久久久久久久久久久久 | 久久久片| 99亚洲精品视频 | 麻豆精品在线 | 午夜精品三区 | 91精品一区二区在线观看 | 最新av在线播放 | 久久影视中文字幕 | 免费福利在线观看 | 五月天狠狠操 | 激情视频一区二区 | 免费日韩视频 | 亚洲成人精品久久 | 亚洲免费精品视频 | 久久综合五月天 | www免费在线观看 | 91在线网址| 麻豆视频91| 欧美日韩一区二区免费在线观看 | 精品久久国产一区 | 精品国产1区2区3区 国产欧美精品在线观看 | 91免费高清视频 | 国产剧情一区 | 在线你懂 | 久久中文网 | 伊人永久 | 久久精品久久久久 | 日韩黄色在线观看 | 97色婷婷成人综合在线观看 | 蜜桃视频日韩 | 又大又硬又黄又爽视频在线观看 | 日韩有码欧美 | 综合伊人av | 亚洲 欧美 变态 国产 另类 | 一区二区三区免费在线观看 | 国产精品国产三级国产专区53 | 久青草国产在线 | 日韩精品一区二区三区不卡 | 天天操综| 波多野结衣最新 | 少妇bbbb搡bbbb桶| 欧美乱码精品一区二区 | 国产精品一区二区三区在线看 | 国产精品久久久久国产精品日日 | 91免费视频网站在线观看 | 日韩中文字幕a | 日韩 在线a | 中文字幕视频在线播放 | 久久深爱网 | 91亚洲精| 精品久久久久久久久久久久久 | 激情五月在线视频 | 在线观看视频一区二区三区 | 久久综合久久综合这里只有精品 | 三上悠亚一区二区在线观看 | 亚洲国产精品va在线看黑人动漫 | 亚洲毛片一区二区三区 | 欧美精品亚州精品 | 免费av观看网站 | 91亚·色| 日韩欧美在线观看 | 久久久久久久av麻豆果冻 | 日韩高清在线观看 | 日韩精品一卡 | 日本护士三级少妇三级999 | 国产精品毛片一区视频播不卡 | 91中文字幕在线播放 | 亚洲精品一区二区三区在线观看 | 91天堂影院 | 久久久久久久久久久成人 | av在线a | 婷婷干五月 | 精品毛片久久久久久 | 91桃色免费观看 | 日韩三级av| 国产精品美女久久久久久久 | 日韩欧美在线一区二区 | 日韩综合精品 | 99热在线观看免费 | 日日夜夜艹 | 久草在线国产 | 欧美一级高清片 | 国产精品永久免费 | 欧美日韩超碰 | 久久久亚洲网站 | 久久久久久久久久久综合 | 九九视频免费 | 九九免费在线观看视频 | 色亚洲网 | 国产不卡一区二区视频 | 欧美亚洲精品一区 | 亚洲激情 在线 | av免费在线看网站 | 国产黄影院色大全免费 | 久久久国产精品亚洲一区 | 久久免费视频网 | 亚洲精品视频在线免费 | 免费色婷婷 | 一区二区精 | 黄色毛片在线看 | 国内精品久久久久影院日本资源 | 亚洲成人xxx| 日b视频在线观看网址 | 日韩精品久久久免费观看夜色 | 精品中文字幕视频 | 国产一区影院 | 国产日韩精品一区二区在线观看播放 | av在线激情 | 狠狠色伊人亚洲综合网站野外 | 欧美精品乱码99久久影院 | 深夜成人av| 99r在线观看 | 日韩国产在线观看 | 99久久这里只有精品 | 97超碰免费在线观看 | 波多野结衣视频网址 | 久久久久久久久久亚洲精品 | 国产欧美在线一区二区三区 | 天堂网av在线| 天天躁日日躁狠狠躁av麻豆 | 973理论片235影院9 | 久久人人爽人人 | 国产 成人 久久 | 亚州国产精品视频 | 91在线麻豆 | 午夜精品久久久久久99热明星 | 人人添人人澡 | 人人揉人人揉人人揉人人揉97 | 成人毛片在线视频 | 亚洲天堂社区 | av不卡中文 | 日本三级不卡视频 | 在线视频免费观看 | 久久久国产精品一区二区三区 | 超级碰视频 | 久久不射电影院 | 人人插超碰| caobi视频| 国产免费小视频 | 天天射天天艹 | 亚洲一区视频在线播放 | 国产精品毛片久久久 | 久久久久久麻豆 | 日韩精品91偷拍在线观看 | 超碰在线观看av.com | 欧美夫妻性生活电影 | 国产在线黄 | 在线观看国产区 | www.久久久.com| 97干com | 九九精品视频在线 | 99这里有精品| 999视频在线播放 | 精品在线观看一区二区 | 在线色亚洲 | 在线免费看黄网站 | 色婷婷福利视频 | 日本成人黄色片 | 欧美久久久久 | 色婷婷成人 | av中文天堂在线 | 狠狠操狠狠操 | 97碰在线| 国产福利在线免费观看 | 免费在线观看国产黄 | 天天综合网 天天综合色 | 天天操·夜夜操 | av短片在线 | 777奇米四色 | 日日射av | 91色欧美 | 天天操狠狠操夜夜操 | www.五月激情.com| 日韩有码欧美 | 五月婷婷在线视频观看 | 97超碰.com| 综合色站 | 97超碰人人| 美州a亚洲一视本频v色道 | 日韩精品久久一区二区三区 | 黄色软件视频网站 | 日韩视频一区二区 | 在线国产视频 | 91av精品| 久久国产一区 | 香蕉影视在线观看 | 久久999久久 | 国产91精品看黄网站 | 黄色在线免费观看网站 | 欧美日韩性视频在线 | 色五月色开心色婷婷色丁香 | 欧美91精品 | 黄色av在| 久久永久免费 | 国产视频18 | 在线观看免费视频 | 成人小视频在线观看免费 | 久久午夜国产精品 | 国产韩国日本高清视频 | 久久久久一区 | 四川妇女搡bbbb搡bbbb搡 | 久久久久久久久久久久国产精品 | 在线视频黄 | 精品久久久久久国产91 | 国产黄色免费在线观看 | 国产精品久久久久永久免费观看 | 欧美在线观看小视频 | 国产一区播放 | 91精品婷婷国产综合久久蝌蚪 | 国产91在线免费视频 | 国产精品久久99综合免费观看尤物 | 又色又爽又黄高潮的免费视频 | 久久精品网址 | 91自拍视频在线 | 黄在线免费观看 | 午夜婷婷在线观看 | 免费观看一级特黄欧美大片 | 99热在| 欧美日韩国产一区二区三区 | 欧美日韩免费观看一区=区三区 | 免费看的毛片 | 欧美在线观看视频一区二区 | 毛片一二区 | av在线播放国产 | 国产亚洲91 | 青春草免费视频 | 亚洲精品乱码白浆高清久久久久久 | 亚洲精品一区二区三区高潮 | 九精品 | 中文字幕免费中文 | 久久久久久久久久久久亚洲 | 精品欧美一区二区在线观看 | 中文字幕在线不卡国产视频 | 四虎在线永久免费观看 | 大胆欧美gogo免费视频一二区 | 天天综合网入口 | 五月天婷婷综合 | 综合色综合| 天天综合久久综合 | 99精品在线视频观看 | 国产高清在线a视频大全 | 成人一区在线观看 | 四虎永久网站 | 人人爽人人看 | 欧美一级片在线观看视频 | 久久久久久中文字幕 | 国产亚洲在线观看 | 欧美日韩国产欧美 | 亚洲激情国产精品 | 国产中文字幕一区二区 | 99久久婷婷 | 亚洲精品国产综合99久久夜夜嗨 | 国产一级淫片免费看 | 韩日av一区二区 | av电影 一区二区 | 日韩高清免费在线 | 国产 欧美 日产久久 | 黄a网| 欧美日韩在线免费观看 | 9草在线| 亚洲午夜久久久久久久久久久 | 欧美精品第一 | 深爱五月网 | 精品一区二区电影 | 网站在线观看日韩 | 国产最新视频在线观看 | 一区二区三区免费在线观看视频 | 久久福利电影 | 国产精品 国产精品 | 国产小视频免费在线观看 | 一区二区不卡高清 | 亚洲精品国产自产拍在线观看 | 国产不卡一 | 国产精品理论片在线播放 | 狠狠色综合网站久久久久久久 | 永久免费毛片 | 久久综合九色综合久久久精品综合 | 久久九九网站 | 久久99精品久久久久久久久久久久 | 91亚色视频在线观看 | 免费看的黄色片 | 91成人国产 | 毛片一区二区 | 热99久久精品 | 欧美精品xx | www.五月天婷婷.com | 亚洲精品黄色片 | 亚洲丁香久久久 | 久久a久久| 日韩欧美视频免费看 | 精品国产一区二区三区久久久久久 | 五月天堂网 | 天天爱综合 | 亚洲小视频在线观看 | 日操干| 欧美五月婷婷 | 四虎www| 麻豆播放| 狠狠干成人综合网 | 国产精品美乳一区二区免费 | 日韩系列在线 | 在线欧美国产 | 香蕉在线观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 国产亚洲人成网站在线观看 | 日韩精品一区二区久久 | 日韩欧美一区二区三区在线 | 亚洲三级性片 | 91视频免费 | 91黄色视屏 | 狠狠狠狠干 | 五月婷婷开心中文字幕 | 91亚洲网站 | 中文字幕高清有码 | 去干成人网 | 欧美黑人xxxx猛性大交 | 青春草视频 | 免费在线观看黄 | 国产99久久久国产精品免费看 | 99在线热播精品免费99热 | 久久色中文字幕 | 国产视频在线观看免费 | 99re中文字幕| 欧美激情综合五月色丁香小说 | 久久综合婷婷国产二区高清 | 免费视频成人 | 欧美 亚洲 另类 激情 另类 | 亚洲精品视频在线播放 | 黄色成年| 成人作爱视频 | 九九国产精品视频 | 99热99热| 黄色av网站在线免费观看 | 九九九热精品 | 午夜精选视频 | 日本在线观看黄色 | 夜夜看av | 激情五月婷婷激情 | 成年人视频免费在线播放 | 久久精品8 | 97视频在线播放 | 黄色软件在线观看 | 99视频精品在线 | 天天爱av导航 | 丁香色婷| 91最新在线视频 | 91精品国产综合久久久久久久 | 国产午夜精品一区二区三区四区 | 日韩免费看片 | 91麻豆文化传媒在线观看 | 国产三级精品在线 | 91麻豆.com| 国产不卡一区二区视频 | 麻豆免费在线视频 | 日日夜夜亚洲 | 91免费在线播放 | 亚洲一区欧美激情 | 国产人成看黄久久久久久久久 | av电影免费在线播放 | 久久草精品| 91传媒91久久久 | 国产高清在线观看av | 亚洲成人精品在线 | 成人免费观看av | 又污又黄的网站 | 亚洲国产成人精品电影在线观看 | 国产精品成人aaaaa网站 | 国产成人久久久77777 | 国产亚洲综合性久久久影院 | 在线观看亚洲电影 | 黄av免费在线观看 | 久久久精品国产免费观看同学 | 日韩美女免费线视频 | 国产一区欧美日韩 | 四虎国产精品成人免费影视 | 久久免费视频这里只有精品 | 色婷婷狠狠五月综合天色拍 | 天天操天天干天天爽 | 日韩在线视频在线观看 | 81精品国产乱码久久久久久 | 国产免费视频一区二区裸体 | 免费a视频在线观看 | 中文字幕超清在线免费 | 久久国产精品视频免费看 | 国产精品久久久区三区天天噜 | 久久综合久久综合久久 | 成人在线播放视频 | 97在线观看视频国产 | 欧洲性视频 | 在线免费观看视频一区二区三区 | 日日干夜夜爱 | 天天射天天操天天 | 国产不卡高清 | 狠狠干狠狠插 | www免费看| 久久久久久久精 | 欧洲精品二区 | 在线亚洲成人 | 日韩亚洲在线视频 | 91久久奴性调教 | 日韩高清一二三区 | 国内精品久久天天躁人人爽 | 色91在线| 99视频精品免费观看, | 美女网站黄免费 | 热久久免费国产视频 | 美女久久一区 | 深爱五月网 | av资源免费看 | 色综合色综合色综合 | 国产一区在线免费 | 中文字幕在线成人 | 99精品视频在线播放免费 | 亚洲资源在线观看 | 91精品国| 日日夜夜精品视频天天综合网 | 人人超碰在线 | av黄色一级片 | 亚洲在线成人精品 | 91麻豆免费看 | 国产精品亚洲a | 男女视频91| 亚洲欧美精品一区 | 亚洲精品乱码久久久久久久久久 | 久久人人爽人人爽人人 | 玖玖精品视频 | 色综合久 | 天天干天天干天天色 | 日韩成人高清在线 | 91福利视频在线 | 97超碰人人模人人人爽人人爱 | 日韩av在线小说 | 日日干夜夜爱 | 日韩欧美视频一区二区 | 久久精品99久久久久久 | 国产流白浆高潮在线观看 | 久久综合色播五月 | 精品久久久久久国产偷窥 | 天天综合婷婷 | 亚洲韩国一区二区三区 | 美女网站在线看 | 国产精品99久久久久人中文网介绍 | 欧美一级电影免费观看 | 国产成人一区二区在线观看 | 久久人人爽人人爽人人片 | 日韩中文字幕亚洲一区二区va在线 | 波多野结衣在线观看视频 | 韩国av免费在线 | 亚洲一区二区视频 | 国产亚洲综合精品 | 日本韩国精品一区二区在线观看 | 久久婷婷激情 | 久久久精品国产一区二区电影四季 | 中文在线a在线 | 亚洲精品乱码久久久久久写真 | 亚洲精品小区久久久久久 | 激情婷婷六月 | 人人干天天干 | 久久草在线精品 | 超碰成人网 | 在线免费观看视频一区二区三区 | 国产真实精品久久二三区 | 中文字幕在线播放一区 | 四虎小视频 | 中文字幕在线观看第一区 | 免费亚洲视频 | 日本精品一区二区在线观看 | 99精彩视频在线观看免费 | 天天操天天射天天操 | 久久99国产精品视频 | 久久久男人的天堂 | 丁香高清视频在线看看 | 伊人久久五月天 | 国产精品福利小视频 | 在线观看日韩中文字幕 | 日韩69av | 色婷婷久久久综合中文字幕 | 人人插人人搞 | 天堂在线视频免费观看 | 国产在线久草 | 三级动态视频在线观看 | 久久久国产精品网站 | 少妇bbr搡bbb搡bbb | 成人影片在线播放 | 国产亚洲视频中文字幕视频 | 国产一级久久久 | 中文字幕国产一区二区 | 又黄又刺激的视频 | 国产成a人亚洲精v品在线观看 | 欧美一级性视频 | 九九热视频在线 | 色99视频 | 三级视频国产 | 久久高清av | 中文字幕资源在线 | 丁香色综合 | 日韩在线观看网址 | 超碰97久久| 91av原创| 特级毛片爽www免费版 | 国产一级二级三级视频 | 久久久久久福利 | 一区二区 精品 | 日韩电影一区二区三区在线观看 | 九九九电影免费看 | 成人午夜片av在线看 | 国产资源免费在线观看 |