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

📄 sconfig.inc

📁 基于AT91RM9200的BootLoader设计与实现
💻 INC
字号:
;===============================================================================
;--------------------------------- Copy Left -----------------------------------
;						Illidan Fly's Project
;						Power by BigFly Network
;						http://bigfly.happybobby.com
;						
;						Released under GPL2 License
;
;----------------------------- File Description --------------------------------
; Filename:	sconfig.inc
; Date:		2007.09.28
; Version:	0.0.1
; Description:
;		Configuration file for assemble.
;
;----------------------------- Version History ---------------------------------
; 0.0.1: First release
;
;===============================================================================

;//============================================================================
;// Bootloader configuration
;//============================================================================
	
	GBLL 	PLL_ON_START
	GBLA	DEBUGLEDS_TYPE
	GBLA	ENTRY_BUS_WIDTH
	GBLL	NAND_FLASH_BOOT
	
PLL_ON_START	SETL	{TRUE}		;// Set PLL register on boot?
;// MPLL Value
;// Fin = 12.0MHz, FCLK = 50.0MHz
M_MDIV			EQU		0x5C
M_PDIV			EQU		0x4
M_SDIV			EQU		0x2

DEBUGLEDS_TYPE	SETA	2			;// Debug LEDs type
ENTRY_BUS_WIDTH	SETA	16			;// Entry bus width

;// Notice:
;// Set Compiler and Assembler -ropi option on when using Nand flash boot
NAND_FLASH_BOOT	SETL	{FALSE}		;// Nand flash boot?

;//============================================================================
;// Mode configuration
;//============================================================================

	GBLL 	BIGENDIAN_MODE

BIGENDIAN_MODE	SETL	{FALSE}

;//============================================================================
;// Stack configuration
;//============================================================================

_STACK_BASEADDRESS		EQU		0x33ff8000
_MMUTT_STARTADDRESS		EQU		0x33ff8000
_ISR_STARTADDRESS		EQU		0x33ffff00
_HEAPEND				EQU		0x33ff0000
_RAMBASE				EQU		0x30000000
_RAMSIZE				EQU		0x04000000

;// The base of stacks for every mode
UserStack				EQU		( _STACK_BASEADDRESS - 0x3800 )	;// 0x33ff4800 ~
SVCStack				EQU		( _STACK_BASEADDRESS - 0x2800 )	;// 0x33ff5800 ~
UndefStack				EQU		( _STACK_BASEADDRESS - 0x2400 )	;// 0x33ff5c00 ~
AbortStack				EQU		( _STACK_BASEADDRESS - 0x2000 )	;// 0x33ff6000 ~
IRQStack				EQU		( _STACK_BASEADDRESS - 0x1000 )	;// 0x33ff7000 ~
FIQStack				EQU		( _STACK_BASEADDRESS - 0x0000 )	;// 0x33ff8000 ~

;//============================================================================
;// Bank configuration
;//============================================================================

;//---------------------------------------------------------------------------
;// BWSCON Constants Values
;//---------------------------------------------------------------------------
DW8		EQU	(0x0)
DW16	EQU	(0x1)
DW32	EQU	(0x2)
WAIT	EQU	(0x1<<2)
UBLB	EQU	(0x1<<3)

;//---------------------------------------------------------------------------
;// Bus width & wait control register config
;//---------------------------------------------------------------------------
B1_BWSCON	EQU	(DW32)
B2_BWSCON	EQU	(DW16)
B3_BWSCON	EQU	(DW16)
B4_BWSCON	EQU	(DW16)
B5_BWSCON	EQU	(DW16)
B6_BWSCON	EQU	(DW32)
B7_BWSCON	EQU	(DW32)

;//---------------------------------------------------------------------------
;// Bank control register config for every bank
;//---------------------------------------------------------------------------

;// Bank 0 parameters
B0_Tacs		EQU	0x0	;// 0clk
B0_Tcos		EQU	0x0	;// 0clk
B0_Tacc		EQU	0x7	;// 14clk
B0_Tcoh		EQU	0x0	;// 0clk
B0_Tah		EQU	0x0	;// 0clk
B0_Tacp		EQU	0x0	
B0_PMC		EQU	0x0	;// Normal

;// Bank 1 parameters
B1_Tacs		EQU	0x0	;// 0clk
B1_Tcos		EQU	0x0	;// 0clk
B1_Tacc		EQU	0x7	;// 14clk
B1_Tcoh		EQU	0x0	;// 0clk
B1_Tah		EQU	0x0	;// 0clk
B1_Tacp		EQU	0x0	
B1_PMC		EQU	0x0	;// Normal

;// Bank 2 parameters
B2_Tacs		EQU	0x0	;// 0clk
B2_Tcos		EQU	0x0	;// 0clk
B2_Tacc		EQU	0x7	;// 14clk
B2_Tcoh		EQU	0x0	;// 0clk
B2_Tah		EQU	0x0	;// 0clk
B2_Tacp		EQU	0x0	
B2_PMC		EQU	0x0	;// normal

;// Bank 3 parameters
B3_Tacs		EQU	0x0	;// 0clk
B3_Tcos		EQU	0x0	;// 0clk
B3_Tacc		EQU	0x7	;// 14clk
B3_Tcoh		EQU	0x0	;// 0clk
B3_Tah		EQU	0x0	;// 0clk
B3_Tacp		EQU	0x0	
B3_PMC		EQU	0x0	;// normal

;// Bank 4 parameters
B4_Tacs		EQU	0x0	;// 0clk
B4_Tcos		EQU	0x0	;// 0clk
B4_Tacc		EQU	0x7	;// 14clk
B4_Tcoh		EQU	0x0	;// 0clk
B4_Tah		EQU	0x0	;// 0clk
B4_Tacp		EQU	0x0	
B4_PMC		EQU	0x0	;// normal

;// Bank 5 parameters
B5_Tacs		EQU	0x0	;// 0clk
B5_Tcos		EQU	0x0	;// 0clk
B5_Tacc		EQU	0x7	;// 14clk
B5_Tcoh		EQU	0x0	;// 0clk
B5_Tah		EQU	0x0	;// 0clk
B5_Tacp		EQU	0x0	
B5_PMC		EQU	0x0	;// normal

;// Bank 6 parameters
B6_MT		EQU	0x3	;// SDRAM
B6_Trcd		EQU	0x1	;// 3clk
B6_SCAN		EQU	0x1	;// 9bit

;// Bank 7 parameters
B7_MT		EQU	0x3	;// SDRAM
B7_Trcd		EQU	0x1	;// 3clk
B7_SCAN		EQU	0x1	;// 9bit

;//---------------------------------------------------------------------------
;// Refresh control register config
;//---------------------------------------------------------------------------
REFEN		EQU	0x1		;// Refresh enable
TREFMD		EQU	0x0		;// CBR(CAS before RAS)/Auto refresh
Trp			EQU	0x0		;// 2clk
Trc			EQU	0x3		;// 7clk
Tchr		EQU	0x2		;// 3clk
REFCNT		EQU	1113	;// Period=15.6us, HCLK=60Mhz, (2048+1-15.6*60)

;//---------------------------------------------------------------------------
;// Bank size register config
;//---------------------------------------------------------------------------
BURST_EN	EQU	0x0
SCKE_EN		EQU	0x1
SCLK_EN		EQU	0x1
BK76MAP		EQU	0x2

;//---------------------------------------------------------------------------
;// SDRAM mode register config
;//---------------------------------------------------------------------------
B6_WBL		EQU	0x0
B6_TM		EQU	0x0
B6_CL		EQU	0x3
B6_BT		EQU	0x0
B6_BL		EQU	0x0

B7_WBL		EQU	0x0
B7_TM		EQU	0x0
B7_CL		EQU	0x3
B7_BT		EQU	0x0
B7_BL		EQU	0x0
	
	END

⌨️ 快捷键说明

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