📄 sys_initb.asm
字号:
;===========================================================================
; 文件名: Sys_init.asm
;
; 模块名: SYS_INIT
;
; 公司: 达盛科技
;
; 功能描述: 初始化 F24xx 设备
;=====================================================================================
; 修改记录:
;-------------------------------------------------------------------------------------
; 2005.08.21 版本:Ver 1.0
;===========================================================================
.include "x24x_app.h"
.def SYS_INIT
.ref GPR0
SYS_INIT:
;---目标板选择---------------
.if (x240) ;x240 cpu
POINT_PG0
SETC INTM ;禁止中断
SPLK #0h, IMR ;屏蔽所有中断
SPLK #0FFh, IFR ;清所有中断标志
CLRC SXM ;禁止符号扩展
CLRC OVM ;清溢出标志
CLRC CNF ;将 B0 块设置成数据区.
LAR AR1, #03C0h ;初始化软件堆栈指针
MAR *,AR1
POINT_B0
SPLK #04h, GPR0 ;Set 0 wait states for XMIF
OUT GPR0, WSGR
POINT_PF1
SPLK #0041h,PLL_CNTL1 ;Disable PLL first.=CPUCLK/2,
SPLK #00B1h,PLL_CNTL2 ;CLKIN(XTAL)=10MHz, PLL*2.0=20MHz
SPLK #0081h,PLL_CNTL1 ;CLKMD=PLL Enable,SYSCLK/4=CPUCLK/2,
SPLK #40C0h,SYSCR ;CLKOUT=CPUCLK
;Comment out if WD is to be active
SPLK #006Fh, WD_CNTL ;Disable WD if VCCP=5V
KICK_DOG
RET
.endif
;-----------------------------------
;---target dependancy---------------
.if (x243)
POINT_PG0
SETC INTM ;Disable interrupts
SPLK #0h, IMR ;Mask all Ints
SPLK #0FFh, IFR ;Clear all Int Flags
CLRC SXM ;Clear Sign Extension Mode
CLRC OVM ;Reset Overflow Mode
CLRC CNF ;Config Block B0 to Data mem.
SPM 0
LAR AR1, #03C0h ;Init s/w stack pointer
MAR *,AR1
POINT_B0
SPLK #0040h, GPR0 ;Set 0 wait states for XMIF
OUT GPR0, WSGR
POINT_PF1
SPLK #40C0h,SYSCR ;CLKOUT=CPUCLK
;Comment out if WD is to be active
SPLK #006Fh, WD_CNTL ;Disable WD if VCCP=5V
KICK_DOG
RET
.endif
;-----------------------------------
;---目标板选择---------------
.if (x2407) ;x2407 cpu
POINT_PG0
SETC INTM ;禁止中断
SPLK #0h, IMR ;屏蔽中断
SPLK #0FFh, IFR ;清中断标志
CLRC SXM ;禁止符号扩展
CLRC OVM ;禁止溢出保护
CLRC CNF ;设置 B0 块为数据区.
SPM 0
LAR AR1, #03C0h ;初始化软件堆栈指针
MAR *,AR1
POINT_B0
SPLK #00C0h, GPR0 ;设置访问外部 I/O 空间的等待状态
OUT GPR0, WSGR
POINT_PF1
SPLK #0085h, SCSR1 ; x4 PLL, ADC 使能, EV1 使能, 清无效地址标志
SPLK #006Fh, WD_CNTL ;如果 VCCP=5V 则禁止看门狗
KICK_DOG
RET
.endif
;-----------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -