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

📄 s3c4510b.s

📁 三星S34510板子上移植的uCosII源码
💻 S
📖 第 1 页 / 共 2 页
字号:
;/*************************************************************************/
;/*                                                                       */
;/* FILE NAME                                      VERSION                */
;/*                                                                       */
;/* snds.a                                 ARM7100 Board version 1.0      */
;/*                                                                       */
;/* COMPONENT                                                             */
;/*                                                                       */
;/* DESCRIPTION                                                           */
;/*                                                                       */
;/*     ARM7100 for KS32C5000, KS32C50100 ASSEBLER SYSTEM HEADER FILE     */
;/*                                                                       */
;/* AUTHOR                                                                */
;/*                                                                       */
;/*      Young Sun KIM, Samsung Electronics, Inc.                         */
;/*                                                                       */
;/* DATA STRUCTURES                                                       */
;/*                                                                       */
;/*                                                                       */
;/* FUNCTIONS                                                             */
;/*                                                                       */
;/* DEPENDENCIES                                                          */
;/*                                                                       */
;/*                                                                       */
;/* HISTORY                                                               */
;/*                                                                       */
;/*         NAME            DATE                    REMARKS               */
;/*                                                                       */
;/*      Young Sun KIM   09-25-1998      Created initial version 1.0      */
;/*************************************************************************/
;/*************************************************************************/
;/* Format of the Program Status Register                                 */
;/*************************************************************************/
;/*                                                                       */
;/* 31  30  29   28         7   6   5   4   3   2   1   0                 */
;/*+---+---+---+---+--ss--+---+---+---+---+---+---+---+---+               */
;/*| N | Z | C | V |      | I | F | T |     M4 ~ M0       |               */
;/*+---+---+---+---+--ss--+---+---+---+---+---+---+---+---+               */
;/*                                                                       */
;/* Processor Mode and Mask                                               */
;/*                                                                       */
;/*************************************************************************/
;
FBit		    EQU	   0x40
IBit		    EQU	   0x80
LOCKOUT         EQU    0xC0       ;Interrupt lockout value
LOCK_MSK        EQU    0xC0       ;Interrupt lockout mask value
MODE_MASK       EQU    0x1F       ;Processor Mode Mask
SYS_MODE        EQU    0x1F       ;system mode
UDF_MODE        EQU    0x1B       ;Undefine Mode(UDF)
ABT_MODE        EQU    0x17       ;Abort Mode(ABT)
SUP_MODE        EQU    0x13       ;Supervisor Mode (SVC)
IRQ_MODE        EQU    0x12       ;Interrupt Mode (IRQ)
FIQ_MODE        EQU    0x11       ;Fast Interrupt Mode (FIQ)
;USR_MODE        EQU    0x10       ;User Mode(USR)

; --- System memory locations

CM_ctl_reg      EQU     0x1000000C          ; Address of Core Module Control Register
Remap_bit       EQU     0x04                ; Bit 2 is remap bit of CM_ctl



;/*************************************************************************/
;/*  SYSTEM STACK MEMORY  : 8K bytes system stacks are defined at memory.a
;/*************************************************************************/
USR_STACK_SIZE  EQU     1024 
UDF_STACK_SIZE  EQU      512 
ABT_STACK_SIZE  EQU      512 
IRQ_STACK_SIZE  EQU     2048 
FIQ_STACK_SIZE  EQU     2048 
SUP_STACK_SIZE  EQU     2048 

STACK_STAR_ADDR EQU     0x10f0000

USR_STACK  EQU     STACK_STAR_ADDR
UDF_STACK  EQU     USR_STACK-USR_STACK_SIZE
ABT_STACK  EQU     UDF_STACK-UDF_STACK_SIZE
IRQ_STACK  EQU     ABT_STACK-ABT_STACK_SIZE
FIQ_STACK  EQU     IRQ_STACK-IRQ_STACK_SIZE
SUP_STACK  EQU     FIQ_STACK-FIQ_STACK_SIZE
STACK_END_ADDR  EQU SUP_STACK-SUP_STACK_SIZE
;/*************************************************************************/
;/*  SYSTEM USER STACK MEMORY
;/*************************************************************************/
SYSTEM_SIZE     EQU     1024      ; Define the system stack size
TIMER_SIZE      EQU     1024      ; Define timer HISR stack size
TIMER_PRIORITY  EQU     2         ; Timer HISR priority (values from
				  ; 0 to 2, where 0 is highest)

;/*************************************************************************/
;/*  SYSTEM CLOCK                                                         */
;/*************************************************************************/

MHz         EQU     1000000

;#ifdef KS32C50100
fMCLK_MHz   EQU    50000000   ; 50MHz, KS32C50100
;#else
;fMCLK_MHz   EQU	    20000000   ; 33MHz, KS32C5000
;fMCLK_MHz   EQU	    25000000   ; 33MHz, KS32C5000
;fMCLK_MHz   EQU	    30000000   ; 33MHz, KS32C5000
;fMCLK_MHz   EQU	    33000000   ; 33MHz, KS32C5000
;fMCLK_MHz   EQU	    40000000   ; 33MHz, KS32C5000
;#endif

fMCLK        EQU     fMCLK_MHz/MHz    

ASIC_BASE  	 EQU 		0x03ff0000

;Interrupt Control

INT_CNTRL_BASE 	 EQU 	(ASIC_BASE+0x4000)  
;SYSTEM MANAGER REGISTERS 

ARM7_SYSCFG	    EQU 	(ASIC_BASE+0x0000)
ARM7_CLKCON  	EQU 	(ASIC_BASE+0x3000)
ARM7_EXTACON0   EQU 	(ASIC_BASE+0x3008)
ARM7_EXTACON1   EQU 	(ASIC_BASE+0x300c)
ARM7_EXTDBWTH   EQU 	(ASIC_BASE+0x3010)
ARM7_ROMCON0  	EQU 	(ASIC_BASE+0x3014)
ARM7_ROMCON1  	EQU 	(ASIC_BASE+0x3018)
ARM7_ROMCON2  	EQU 	(ASIC_BASE+0x301c)
ARM7_ROMCON3  	EQU 	(ASIC_BASE+0x3020)
ARM7_ROMCON4  	EQU 	(ASIC_BASE+0x3024)
ARM7_ROMCON5  	EQU 	(ASIC_BASE+0x3028)
ARM7_DRAMCON0   EQU 	(ASIC_BASE+0x302c)
ARM7_DRAMCON1   EQU 	(ASIC_BASE+0x3030)
ARM7_DRAMCON2   EQU 	(ASIC_BASE+0x3034)
ARM7_DRAMCON3   EQU 	(ASIC_BASE+0x3038)
ARM7_REFEXTCON  EQU 	(ASIC_BASE+0x303c)

; controller registers
ARM7_INTMODE 	EQU 	(ASIC_BASE+0x4000)
ARM7_INTPEND 	EQU 	(ASIC_BASE+0x4004)
ARM7_INTMASK 	EQU 	(ASIC_BASE+0x4008)
ARM7_INTOFFSET  EQU 	(ASIC_BASE+0x4024)
ARM7_INTPENDTST EQU  	(ASIC_BASE+0x402c)

INT_DISABLE     EQU          0x1fffff

ARM7_INTPRI0 	 EQU 	(ASIC_BASE+0x400C)
ARM7_INTPRI1 	 EQU 	(ASIC_BASE+0x4010)
ARM7_INTPRI2 	 EQU 	(ASIC_BASE+0x4014)
ARM7_INTPRI3 	 EQU 	(ASIC_BASE+0x4018)
ARM7_INTPRI4 	 EQU 	(ASIC_BASE+0x401C)
ARM7_INTPRI5 	 EQU 	(ASIC_BASE+0x4020)

ARM7_INTOSET_FIQ  EQU 	(ASIC_BASE+0x4030)
ARM7_INTOSET_IRQ  EQU 	(ASIC_BASE+0x4034)

; I/O Port Interface  

ARM7_IOPMOD 	 EQU 	(ASIC_BASE+0x5000)
ARM7_IOPCON 	 EQU 	(ASIC_BASE+0x5004)
ARM7_IOPDATA 	 EQU 	(ASIC_BASE+0x5008)

; IIC Registers 
ARM7_IICCON    EQU  	(ASIC_BASE+0xf000)
ARM7_IICBUF    EQU  	(ASIC_BASE+0xf004)
ARM7_IICPS     EQU 		(ASIC_BASE+0xf008)
ARM7_IICCNT    EQU 		(ASIC_BASE+0xf00c)

RESET_ROM_START     EQU     0x0
ROM_COPY_SIZE		EQU	    0x40000       ;256K
RESET_DRAM_START    EQU     0x1000000     ;16M


;/*************************************************************************/
;/*  SYSTEM MEMORY CONTROL REGISTER EQU TABLES                            */
;/*************************************************************************/
; 
;/* -> EXTDBWTH : Memory Bus Width register */
;-------------------------------------------------------------
;
DSR0  		EQU  1:SHL:0         ; ROM0, 0 : Disable
				       ;       			 1 : Byte
				       ;       			 2 : Half-Word
				       ;       			 3 : Word
DSR1  		EQU  2:SHL:2           ; ROM1
DSR2  		EQU  0:SHL:4           ; ROM2
DSR3  		EQU  0:SHL:6           ; ROM3
DSR4  		EQU  0:SHL:8           ; ROM4
DSR5  		EQU  0:SHL:10          ; ROM5
DSD0  		EQU  3:SHL:12          ; DRAM0
DSD1  		EQU  0:SHL:14          ; DRAM1
DSD2  		EQU  0:SHL:16          ; DRAM2
DSD3  		EQU  0:SHL:18          ; DRAM3
DSX0  		EQU  0:SHL:20          ; EXTIO0
DSX1  		EQU  0:SHL:22          ; EXTIO1
DSX2  		EQU  0:SHL:24          ; EXTIO2
DSX3  		EQU  0:SHL:26          ; EXTIO3

rEXTDBWTH   EQU  DSR0+DSR1+DSR2+DSR3+DSR4+DSR5+DSD0+DSD1+DSD2+DSD3+DSX0+DSX1+DSX2+DSX3
;-------------------------------------------------------------

;/* -> ROMCON0 : ROM Bank0 Control register */
;-------------------------------------------------------------
ROMBasePtr0     EQU  0x000:SHL:10   ;=0x0000000  
ROMEndPtr0      EQU  0x010:SHL:20   ;=0x0100000  
PMC0            EQU  0x0            ; 0x0=Normal ROM, 0x1=4Word Page 
                                    ; 0x2=8Word Page, 0x3=16Word Page
rTpa0           EQU  (0x0:SHL:2)    ; 0x0=5Cycle, 0x1=2Cycle
                                    ; 0x2=3Cycle, 0x3=4Cycle 
rTacc0          EQU  (0x6:SHL:4)    ; 0x0=Disable, 0x1=2Cycle
                                    ; 0x2=3Cycle, 0x3=4Cycle
                                    ; 0x4=5Cycle, 0x5=6Cycle
                                    ; 0x6=7Cycle, 0x7=Reserved
rROMCON0   EQU  ROMEndPtr0+ROMBasePtr0+rTacc0+rTpa0+PMC0
;-------------------------------------------------------------

;-------------------------------------------------------------

;/* -> ROMCON0 : ROM Bank0 Control register remap set */
;-------------------------------------------------------------
ROMBasePtr0_S     EQU  0x100:SHL:10   ;=0x1000000  16M
ROMEndPtr0_S      EQU  0x110:SHL:20   ;=0x1100000  17M
rROMCON0_S   EQU  ROMBasePtr0_S+ROMEndPtr0_S+rTacc0+rTpa0+PMC0
;-------------------------------------------------------------



;/* -> ROMCON1 : ROM Bank1 Control register */
;-------------------------------------------------------------
ROMBasePtr1     EQU  0x110:SHL:10   ;=0x1100000   17M
ROMEndPtr1      EQU  0x130:SHL:20   ;=0x1300000   19M
PMC1            EQU  0x0            ; 0x0=Normal ROM, 0x1=4Word Page 
                                    ; 0x2=8Word Page, 0x3=16Word Page
rTpa1           EQU  (0x0:SHL:2)    ; 0x0=5Cycle, 0x1=2Cycle
                                    ; 0x2=3Cycle, 0x3=4Cycle 
rTacc1          EQU  (0x6:SHL:4)    ; 0x0=Disable, 0x1=2Cycle
                                    ; 0x2=3Cycle, 0x3=4Cycle

⌨️ 快捷键说明

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