S3C2410 SDRAM寄存器初始化设置
连接地址都在SDRAM中,但是由于他们都是位置无关的相对跳转指令,所以可以在SRAM中运行。
@**********************************************************
2 @ File : head_yoyo.S
3 @ 功能 : 设置SDRAM,将程序复制到SDRAM中,并跳转到SDRAM中运行
4 @**********************************************************
5
6 .equ
7 .equ
8 .text
9 .global _start
10 _start:
11
12
13
14
15
16
17 @*********************************************************
18 @ 子函数说明:跳转到SDRAM中运行
19 @*********************************************************
20
21 on_sdram:
22
24
25
26 halt_loop:
27
28
29 @*********************************************************
30 @ 子函数说明:关闭看门狗
31 @*********************************************************
32
33 disable_watchdog:
34
35
36
37
38
39 @*********************************************************
40 @子函数说明:初始化内存控制器
41 @*********************************************************
42
43 memsetup:
45
46
47 1:
48
49
50
51
52
53
54
55 @*****************************************************************
56 @子函数说明:复制代码到SDRAM,将SRAM中的4K数据全部复制到SDRAM,
57 @
58 @*****************************************************************
59
60 copy_steppingstone_to_sdram:
61
62
63
65
66
67
68
69
70
71 .align 4
72
73 @******************************************************
74 @存储控制器13个寄存器的设置值
75 @******************************************************
76 mem_cfg_val:
77
78
79
80
81
82
84
85
86
87
88
89
说明:
BWSCON:对应BANK0-BANK7,每BANK使用4位。这4位分别表示:
a.STx:启动/禁止SDRAM的数据掩码引脚,对于SDRAM,此位为0;对于SRAM,此位为1。有原理图可知Not using UB/LB (The pins are dedicated nWBE[3:0])。
b.WSx:是否使用存储器的WAIT信号,通常设为0
c.DWx:使用两位来设置存储器的位宽:00-8位,01-16位,10-32位,11-保留。
d.比较特殊的是BANK0对应的4位,它们由硬件跳线决定,只读。
对于本开发板,使用两片容量为32Mbyte、位宽为16的SDRAM组成容量为64Mbyte、位宽为32的存储器,所以其BWSCON相应位为: 0010。对于本开发板,BWSCON可设为0x22111110:其实我们只需要将BANK6对应的4位设为0010即可,其它的是什么值没什么影响,这个值是参考手册上给出的。
BANKCON0-BANKCON5:我们没用到,使用默认值0x00000700;
BANKCON6-BANKCON7:设为0x00018005 在8个BANK中,只有BANK6和BANK7可以使用SRAM或SDRAM,所以BANKCON6-7与BANKCON
S3C2410SDRAM寄存器初始化设 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)