⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bank_init.s

📁 ucos_ii在mini2440上的移植KEIL编译环境
💻 S
字号:
;************************************
;BANK参数配置
;***********************************
	AREA BANK, CODE, READONLY
	ENTRY
	CODE32
	GET 2440addr.inc
	EXPORT InitBank



;BWSCON
DW8		EQU	(0X0)
DW16	EQU	(0X1)
DW32	EQU	(0X2)
WAIT	EQU (0X1 << 2)
UBLB	EQU	(0X1 << 3)

B0_BWS	EQU	(DW16 << 1) 
B1_BWS	EQU	(DW32 << 4) 
B2_BWS	EQU	(DW16 << 8) 
B3_BWS	EQU	(DW16 << 12) 
B4_BWS	EQU	(DW16 << 16) 
B5_BWS	EQU	(DW16 << 20) 
B6_BWS	EQU	(DW32 << 24) 
B7_BWS	EQU	(DW32 << 28) 

;BANK0配置参数
B0_Tacs EQU (0X0 << 13)
B0_Tcos EQU (0X0 << 11)
B0_Tacc EQU (0X7 << 8)
B0_tcoh	EQU (0X0 << 6)
B0_tah	EQU (0X0 << 4)
B0_tacp	EQU (0X0 << 2)
B0_tPMC	EQU (0X0 << 0)

;BANK1配置参数
B1_Tacs EQU (0X0 << 13)
B1_Tcos EQU (0X0 << 11)
B1_Tacc EQU (0X7 << 8)
B1_tcoh	EQU (0X0 << 6)
B1_tah	EQU (0X0 << 4)
B1_tacp	EQU (0X0 << 2)
B1_tPMC	EQU (0X0 << 0)

;BANK2配置参数
B2_Tacs EQU (0X0 << 13)
B2_Tcos EQU (0X0 << 11)
B2_Tacc EQU (0X7 << 8)
B2_tcoh	EQU (0X0 << 6)
B2_tah	EQU (0X0 << 4)
B2_tacp	EQU (0X0 << 2)
B2_tPMC	EQU (0X0 << 0)

;BANK3配置参数
B3_Tacs EQU (0X0 << 13)
B3_Tcos EQU (0X0 << 11)
B3_Tacc EQU (0X7 << 8)
B3_tcoh	EQU (0X0 << 6)
B3_tah	EQU (0X0 << 4)
B3_tacp	EQU (0X0 << 2)
B3_tPMC	EQU (0X0 << 0)

;BANK4配置参数
B4_Tacs EQU (0X0 << 13)
B4_Tcos EQU (0X0 << 11)
B4_Tacc EQU (0X7 << 8)
B4_tcoh	EQU (0X0 << 6)
B4_tah	EQU (0X0 << 4)
B4_tacp	EQU (0X0 << 2)
B4_tPMC	EQU (0X0 << 0)

;BANK5配置参数
B5_Tacs EQU (0X0 << 13)
B5_Tcos EQU (0X0 << 11)
B5_Tacc EQU (0X7 << 8)
B5_tcoh	EQU (0X0 << 6)
B5_tah	EQU (0X0 << 4)
B5_tacp	EQU (0X0 << 2)
B5_tPMC	EQU (0X0 << 0)

;BANK6配置参数
B6_MT	EQU	(0X3 << 15)
B6_Trcd	EQU	(0X1 << 2)
B6_SCAN EQU	(0X1 << 0)

;BANK7配置参数
B7_MT	EQU	(0X3 << 15)
B7_Trcd	EQU	(0X1 << 2)
B7_SCAN EQU	(0X1 << 0)

;REFRESH参数
REFEN	EQU	(0X1 << 23)
TREFMD	EQU	(0X0 << 22)
Trp		EQU	(0X2 << 20)
Trc		EQU	(0X2 << 18)
Tchr	EQU	(0X2 << 16)
REFCET	EQU	(1653 << 0)

;参数配置组合
BWSCON_VAL		EQU	(B0_BWS | B1_BWS | B2_BWS | B3_BWS | B4_BWS | B5_BWS | B6_BWS | B7_BWS)
BANKCON0_VAL	EQU	(B0_Tacs | B0_Tcos | B0_Tacc | B0_tcoh | B0_tah | B0_tacp | B0_tPMC)
BANKCON1_VAL	EQU	(B1_Tacs | B1_Tcos | B1_Tacc | B1_tcoh | B1_tah | B1_tacp | B1_tPMC)
BANKCON2_VAL	EQU	(B2_Tacs | B2_Tcos | B2_Tacc | B2_tcoh | B2_tah | B2_tacp | B2_tPMC)
BANKCON3_VAL	EQU	(B3_Tacs | B3_Tcos | B3_Tacc | B3_tcoh | B3_tah | B3_tacp | B3_tPMC)
BANKCON4_VAL	EQU	(B4_Tacs | B4_Tcos | B4_Tacc | B4_tcoh | B4_tah | B4_tacp | B4_tPMC)
BANKCON5_VAL	EQU	(B5_Tacs | B5_Tcos | B5_Tacc | B5_tcoh | B5_tah | B5_tacp | B5_tPMC)
BANKCON6_VAL 	EQU (B6_MT | B6_Trcd | B6_SCAN)
BANKCON7_VAL 	EQU (B7_MT | B7_Trcd | B7_SCAN)
REFRESH_VAL		EQU	(REFEN| TREFMD | Trp | Trc | Tchr | REFCET)
BANKSIZE_VAL	EQU (0X32)
MRSRB6_VAL		EQU	(0X30)
MRSRB7_VAL		EQU	(0X30) 

;配置bank的参数
InitBank
	;Set memory control registers
 	LDR	R0,=L_BANK_CONF
	LDR	R1,=BWSCON  ;BWSCON Address
	ADD	R2, R0, #52	      ;End address of SMRDATA
	
0
	LDR	R3, [R0], #4
	STR	R3, [R1], #4
	CMP	R2, R0
	BNE	%B0 

	BX LR
;声明一个文字池的开始,文字池一般放置在一个代码段的最后面,或者一个文件的END前面。文字池的作用是在
;代码中分配一段存储空间来存放变量
	LTORG
L_BANK_CONF DATA
;文字池的标号。在文字池用一个数据定义伪操"DCD",DCD用于分配一片连续的存储单元,
;并用指定的表达式对其进行初始化,表达式可以为程序标号或数字表达式。

	DCD 	BWSCON_VAL 		;4800 0000
	DCD 	BANKCON0_VAL	;4800 0004
	DCD 	BANKCON1_VAL  	;4800 0008
	DCD 	BANKCON2_VAL 	;4800 000C
	DCD 	BANKCON3_VAL  	;4800 0010
	DCD 	BANKCON4_VAL 	;4800 0014
	DCD 	BANKCON5_VAL 	;4800 0018
	DCD 	BANKCON6_VAL 	;4800 001C
	DCD 	BANKCON7_VAL 	;4800 0020
	DCD 	REFRESH_VAL	 	;4800 0024
	DCD 	BANKSIZE_VAL  	;4800 0028
	DCD 	MRSRB6_VAL	 	;4800 002C
	DCD 	MRSRB7_VAL	 	;4800 0030

	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -