📄 4510b_cstartup.hdr
字号:
;---------------------------------------------------------------
; 文件说明
;
; 1.该文件包括了寄存器及其地址的配置,供其他代码用.
; 编者:淳仔
; 时间:2002.5.20
; 版本:1.0
;
; 文件说明
;---------------------------------------------------------------
;---------------------------------------------------------------
; 历史说明
;
; 1. v1.0 2003.5.20 淳仔编写
;
; 历史说明
;---------------------------------------------------------------
MODE_BITS DEFINE 0x1F ; 模式掩码
MODE_MASK DEFINE 0x1F
USR_MODE DEFINE 0x10 ; 用户模式
FIQ_MODE DEFINE 0x11 ; 快速中断请求模式
IRQ_MODE DEFINE 0x12 ; 中断请求模式
SVC_MODE DEFINE 0x13 ; 管理模式
SUP_MODE DEFINE 0x13 ; 管理模式
ABT_MODE DEFINE 0x17 ; 中止模式
UND_MODE DEFINE 0x1B ; 非法指令模式
SYS_MODE DEFINE 0x1F ; 系统模式(供操作系统用)
;---------------------------------------------------------------
; 寄存器地址设置
ASIC_BASE DEFINE 0x3FF0000 ; CPU寄存器的基地址
INT_CNTRL_BASE DEFINE ASIC_BASE+0x4000 ; 定义中断寄存器的基地址
IntMode DEFINE ASIC_BASE+0x4000
IntPend DEFINE ASIC_BASE+0x4004
IntMask DEFINE ASIC_BASE+0x4008
INTOFFSET DEFINE ASIC_BASE+0x4024
IOPMODE DEFINE ASIC_BASE+0x5000 ; GPIO寄存器的基地址
IOPCON DEFINE ASIC_BASE+0x5004
IOPDATA DEFINE ASIC_BASE+0x5008
UARTLCON0 DEFINE ASIC_BASE+0xD000 ; UART 0/1寄存器的基地址
UARTCONT0 DEFINE ASIC_BASE+0xD004
UARTSTAT0 DEFINE ASIC_BASE+0xD008
UARTTXH0 DEFINE ASIC_BASE+0xD00C
UARTRXB0 DEFINE ASIC_BASE+0xD010
UARTBRD0 DEFINE ASIC_BASE+0xD014
UARTLCON1 DEFINE ASIC_BASE+0xE000
UARTCONT1 DEFINE ASIC_BASE+0xE004
UARTSTAT1 DEFINE ASIC_BASE+0xE008
UARTTXH1 DEFINE ASIC_BASE+0xE00C
UARTRXB1 DEFINE ASIC_BASE+0xE010
UARTBRD1 DEFINE ASIC_BASE+0xE014
TIMER_BASE DEFINE ASIC_BASE+0x6000 ; TIMER 0/1寄存器的基地址
DRAM_BASE DEFINE 0x000000 ; DRAM起始地址
HandleReset DEFINE 0x000050 ; 几种异常处理程序入口地址
HandleUndef DEFINE 0x000054
HandleSwi DEFINE 0x000058
HandlePrefetch DEFINE 0x00005c
HandleAbort DEFINE 0x000060
HandleReserv DEFINE 0x000064
HandleIrq DEFINE 0x000068
HandleFiq DEFINE 0x00006c
UserCodeArea DEFINE 0x000100 ; 用户程序代码起始地址
; 寄存器地址设置
;---------------------------------------------------------------
;---------------------------------------------------------------
; 设置EXTDBWTH寄存器:Memory Bus Width register
DSR0 EQU 2<<0 ; ROM0宽度由硬件Bise[1..0]上电状态来确定
DSR1 EQU 2<<2 ; ROM1 0 : Disable
; 1 : Byte
; 2 : Half-Word
; 3 : Word
DSR2 EQU 3<<4 ; ROM2
DSR3 EQU 3<<6 ; ROM3
DSR4 EQU 3<<8 ; ROM4
DSR5 EQU 3<<10 ; ROM5
DSD0 EQU 3<<12 ; DRAM0,设SDRAM数据线宽度为32位
DSD1 EQU 3<<14 ; DRAM1
DSD2 EQU 3<<16 ; DRAM2
DSD3 EQU 3<<18 ; DRAM3
DSX0 EQU 3<<20 ; EXTIO0
DSX1 EQU 3<<22 ; EXTIO1
DSX2 EQU 3<<24 ; EXTIO2
DSX3 EQU 3<<26 ; EXTIO3
rEXTDBWTH DEFINE DSR0+DSR1+DSR2+DSR3+DSR4+DSR5+DSD0+DSD1+DSD2+DSD3+DSX0+DSX1+DSX2+DSX3;0x00003001
;---------------------------------------------------------------
;---------------------------------------------------------------
; 设置ROMCON0寄存器:ROM Bank0 Control register
ROMBasePtr0 EQU 0x100<<10 ; ROM0起地址=0x1000000
ROMEndPtr0 EQU 0x110<<20 ; ROM0止地址=0x1100000,-->1M Byte
PMC0 EQU 0x0 ; 0x0=Normal ROM, 0x1=4Word Page
; 0x2=8Word Page, 0x3=16Word Page
rTpa0 EQU (0x0<<2) ; 0x0=5Cycle, 0x1=2Cycle
; 0x2=3Cycle, 0x3=4Cycle
rTacc0 EQU (0x6<<4) ; 0x0=Disable, 0x1=2Cycle
; 0x2=3Cycle, 0x3=4Cycle
; 0x4=5Cycle, 0x5=6Cycle
; 0x6=7Cycle, 0x7=Reserved
rROMCON0 DEFINE ROMEndPtr0+ROMBasePtr0+rTacc0+rTpa0+PMC0;0x10840060
;---------------------------------------------------------------
;---------------------------------------------------------------
; 设置ROMCON1寄存器:ROM Bank1 Control register
ROMBasePtr1 EQU 0x120<<10 ; =0x1200000
ROMEndPtr1 EQU 0x130<<20 ; =0x1300000
PMC1 EQU 0x0 ; 0x0=Normal ROM, 0x1=4Word Page
; 0x2=8Word Page, 0x3=16Word Page
rTpa1 EQU (0x0<<2) ; 0x0=5Cycle, 0x1=2Cycle
; 0x2=3Cycle, 0x3=4Cycle
rTacc1 EQU (0x6<<4) ; 0x0=Disable, 0x1=2Cycle
; 0x2=3Cycle, 0x3=4Cycle
; 0x4=5Cycle, 0x5=6Cycle
; 0x6=7Cycle, 0x7=Reserved
rROMCON1 DEFINE ROMEndPtr1+ROMBasePtr1+rTacc1+rTpa1+PMC1
;---------------------------------------------------------------
;---------------------------------------------------------------
; 设置ROMCON2寄存器:ROM Bank2 Control register
ROMBasePtr2 EQU 0x130<<10 ; =0x1300000
ROMEndPtr2 EQU 0x140<<20 ; =0x1400000
PMC2 EQU 0x0 ; 0x0=Normal ROM, 0x1=4Word Page
; 0x2=8Word Page, 0x3=16Word Page
rTpa2 EQU (0x0<<2) ; 0x0=5Cycle, 0x1=2Cycle
; 0x2=3Cycle, 0x3=4Cycle
rTacc2 EQU (0x4<<4) ; 0x0=Disable, 0x1=2Cycle
; 0x2=3Cycle, 0x3=4Cycle
; 0x4=5Cycle, 0x5=6Cycle
; 0x6=7Cycle, 0x7=Reserved
rROMCON2 DEFINE ROMEndPtr2+ROMBasePtr2+rTacc2+rTpa2+PMC2
;---------------------------------------------------------------
;---------------------------------------------------------------
; 设置ROMCON3寄存器:ROM Bank3 Control register
ROMBasePtr3 EQU 0x140<<10 ; =0x1400000
ROMEndPtr3 EQU 0x150<<20 ; =0x1500000
PMC3 EQU 0x0 ; 0x0=Normal ROM, 0x1=4Word Page
; 0x2=8Word Page, 0x3=16Word Page
rTpa3 EQU (0x0<<2) ; 0x0=5Cycle, 0x1=2Cycle
; 0x2=3Cycle, 0x3=4Cycle
rTacc3 EQU (0x2<<4) ; 0x0=Disable, 0x1=2Cycle
; 0x2=3Cycle, 0x3=4Cycle
; 0x4=5Cycle, 0x5=6Cycle
; 0x6=7Cycle, 0x7=Reserved
rROMCON3 DEFINE ROMEndPtr3+ROMBasePtr3+rTacc3+rTpa3+PMC3
;---------------------------------------------------------------
;---------------------------------------------------------------
; 设置ROMCON4寄存器:ROM Bank4 Control register
ROMBasePtr4 EQU 0x150<<10 ; =0x1500000
ROMEndPtr4 EQU 0x160<<20 ; =0x1600000
PMC4 EQU 0x0 ; 0x0=Normal ROM, 0x1=4Word Page
; 0x2=8Word Page, 0x3=16Word Page
rTpa4 EQU (0x0<<2) ; 0x0=5Cycle, 0x1=2Cycle
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -