要把下载到nandflash里面的程序(大于8KB的时候)拷贝到链接地址,故要初始化DDR,才能够使用DDR。

W-D-S-DDR_驱动程序

???

 开发板上电后要初始化DRAC,以及DDR,然后把程序拷贝到50000000出运行。

DDR内存工作于HCLK下

DDR芯片手册

W-D-S-DDR_初始化_02

W-D-S-DDR_驱动程序_03

DDR的刷新周期为7.8us,因为HCLK的频率为133MHZ,所以其周期为T=1/(133*106)=>

7.8us=n*T=> n=7.8us/T =>

W-D-S-DDR_寄存器_04

里面有个加1只是为了4舍5入。

 

CAS Latency

W-D-S-DDR_寄存器_05

W-D-S-DDR_寄存器_06

DQSS寄存器

W-D-S-DDR_驱动程序_07

T_MRD寄存器

W-D-S-DDR_寄存器_08

T_RAS寄存器

W-D-S-DDR_初始化_09

查看芯片手册

W-D-S-DDR_初始化_10

最小40ns,取

W-D-S-DDR_驱动程序_11

T_RC寄存器

W-D-S-DDR_初始化_12

芯片手册

W-D-S-DDR_驱动程序_13

W-D-S-DDR_驱动程序_14

T_RCD寄存器

W-D-S-DDR_寄存器_15

芯片手册

W-D-S-DDR_初始化_16

W-D-S-DDR_驱动程序_17

t_RFC寄存器

W-D-S-DDR_寄存器_18

芯片手册

W-D-S-DDR_寄存器_19

W-D-S-DDR_驱动程序_20

T_RP寄存器

W-D-S-DDR_寄存器_21

W-D-S-DDR_驱动程序_22

W-D-S-DDR_寄存器_23

代码:

W-D-S-DDR_驱动程序_24

T_RRD寄存器

W-D-S-DDR_驱动程序_25

芯片手册

W-D-S-DDR_初始化_26

W-D-S-DDR_初始化_27

T_WR寄存器

W-D-S-DDR_寄存器_28

芯片手册

W-D-S-DDR_初始化_29

W-D-S-DDR_驱动程序_30

T_WTR寄存器

W-D-S-DDR_寄存器_31

芯片手册

W-D-S-DDR_寄存器_32

T_XP寄存器

W-D-S-DDR_初始化_33

芯片手册

W-D-S-DDR_初始化_34

T_XSR寄存器

W-D-S-DDR_驱动程序_35

芯片手册

W-D-S-DDR_寄存器_36

W-D-S-DDR_寄存器_37

T_ESR寄存器

W-D-S-DDR_初始化_38

芯片手册

 

W-D-S-DDR_驱动程序_39

P1MEMCFG-内存控制配置寄存器

W-D-S-DDR_寄存器_40

W-D-S-DDR_寄存器_41

芯片手册

W-D-S-DDR_初始化_42

W-D-S-DDR_驱动程序_43

32为DRAM配置控制寄存器

W-D-S-DDR_驱动程序_44

W-D-S-DDR_驱动程序_45

片选寄存器

W-D-S-DDR_初始化_46

W-D-S-DDR_寄存器_47

用户配置寄存器

W-D-S-DDR_初始化_48

W-D-S-DDR_寄存器_49

W-D-S-DDR_寄存器_50

W-D-S-DDR_初始化_51

W-D-S-DDR_初始化_52

Memc_cmd配置

W-D-S-DDR_初始化_53

W-D-S-DDR_驱动程序_54

W-D-S-DDR_驱动程序_55

W-D-S-DDR_寄存器_56

W-D-S-DDR_驱动程序_57

 

tiny6410的DDR的驱动,其芯片是K4X2G323PD-8GD8,其存储容量为64M X 32.

其驱动程序

start.S

W-D-S-DDR_寄存器_58

W-D-S-DDR_驱动程序_59

W-D-S-DDR_驱动程序_60

W-D-S-DDR_驱动程序_61

W-D-S-DDR_驱动程序_62

驱动程序mem.S

W-D-S-DDR_寄存器_63

W-D-S-DDR_驱动程序_64

W-D-S-DDR_寄存器_65

W-D-S-DDR_初始化_66

链接器脚本gboot.lds

W-D-S-DDR_寄存器_67

makefile文件

W-D-S-DDR_初始化_68