📄 sysctrl.asm
字号:
;***************************************************************
;* TMS320C2000 C/C++ Codegen PC Version 3.09 *
;* Date/Time created: Mon Mar 14 11:30:03 2005 *
;***************************************************************
FP .set XAR2
.file "SysCtrl.c"
; C:\ti\c2000\cgtools\bin\ac2000.exe -@C:\DOCUME~1\春明\LOCALS~1\Temp\TI1072_4
.sect ".text"
.global _InitSysCtrl
.sym _InitSysCtrl,_InitSysCtrl, 32, 2, 0
.func 15
;----------------------------------------------------------------------
; 15 | void InitSysCtrl(void)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _InitSysCtrl FR SIZE: 1 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 1 Auto, 0 SOE *
;***************************************************************
_InitSysCtrl:
.line 2
;----------------------------------------------------------------------
; 17 | volatile int16 dummy; // General purp
; | ose volatile int
;----------------------------------------------------------------------
.sym _dummy,-1, 4, 1, 16
ADDB SP,#1
.line 5
;----------------------------------------------------------------------
; 19 | asm(" EALLOW"); // Enable EALLO
; | W protected register access
;----------------------------------------------------------------------
EALLOW
.line 8
;----------------------------------------------------------------------
; 22 | DevEmuRegs.PROTSTART = 0x0100; // Write default value to prote
; | ction start register
;----------------------------------------------------------------------
MOVW DP,#_DevEmuRegs+6
MOV @_DevEmuRegs+6,#256 ; |22|
.line 9
;----------------------------------------------------------------------
; 23 | DevEmuRegs.PROTRANGE = 0x00FF; // Write default value to prote
; | ction range register
;----------------------------------------------------------------------
MOV @_DevEmuRegs+7,#255 ; |23|
.line 21
;----------------------------------------------------------------------
; 35 | dummy = CsmPwl.PSWD0; // Dummy read of PWL lo
; | cations
;----------------------------------------------------------------------
MOVW DP,#_CsmPwl
MOV AL,@_CsmPwl ; |35|
MOV *-SP[1],AL ; |35|
.line 22
;----------------------------------------------------------------------
; 36 | dummy = CsmPwl.PSWD1; // Dummy read of PWL lo
; | cations
;----------------------------------------------------------------------
MOV AL,@_CsmPwl+1 ; |36|
MOV *-SP[1],AL ; |36|
.line 23
;----------------------------------------------------------------------
; 37 | dummy = CsmPwl.PSWD2; // Dummy read of PWL lo
; | cations
;----------------------------------------------------------------------
MOV AL,@_CsmPwl+2 ; |37|
MOV *-SP[1],AL ; |37|
.line 24
;----------------------------------------------------------------------
; 38 | dummy = CsmPwl.PSWD3; // Dummy read of PWL lo
; | cations
;----------------------------------------------------------------------
MOV AL,@_CsmPwl+3 ; |38|
MOV *-SP[1],AL ; |38|
.line 25
;----------------------------------------------------------------------
; 39 | dummy = CsmPwl.PSWD4; // Dummy read of PWL lo
; | cations
;----------------------------------------------------------------------
MOV AL,@_CsmPwl+4 ; |39|
MOV *-SP[1],AL ; |39|
.line 26
;----------------------------------------------------------------------
; 40 | dummy = CsmPwl.PSWD5; // Dummy read of PWL lo
; | cations
;----------------------------------------------------------------------
MOV AL,@_CsmPwl+5 ; |40|
MOV *-SP[1],AL ; |40|
.line 27
;----------------------------------------------------------------------
; 41 | dummy = CsmPwl.PSWD6; // Dummy read of PWL lo
; | cations
;----------------------------------------------------------------------
MOV AL,@_CsmPwl+6 ; |41|
MOV *-SP[1],AL ; |41|
.line 28
;----------------------------------------------------------------------
; 42 | dummy = CsmPwl.PSWD7; // Dummy read of PWL lo
; | cations
;----------------------------------------------------------------------
MOV AL,@_CsmPwl+7 ; |42|
MOV *-SP[1],AL ; |42|
.line 31
;----------------------------------------------------------------------
; 45 | SysCtrlRegs.WDCR = 0x00E8;
;----------------------------------------------------------------------
MOVW DP,#_SysCtrlRegs+25
MOV @_SysCtrlRegs+25,#232 ; |45|
.line 41
;----------------------------------------------------------------------
; 55 | SysCtrlRegs.SCSR = 0x0002;
;----------------------------------------------------------------------
MOV @_SysCtrlRegs+18,#2 ; |55|
.line 54
;----------------------------------------------------------------------
; 68 | SysCtrlRegs.PLLCR.all = 0x000A; // PLLx5
;----------------------------------------------------------------------
MOV @_SysCtrlRegs+17,#10 ; |68|
.line 56
;----------------------------------------------------------------------
; 70 | SysCtrlRegs.HISPCP.all = 0x0000; // Hi-speed periph cloc
; | k prescaler, HSPCLK=SYSCLKOUT/1
;----------------------------------------------------------------------
MOV @_SysCtrlRegs+10,#0 ; |70|
.line 57
;----------------------------------------------------------------------
; 71 | SysCtrlRegs.LOSPCP.all = 0x0002; // Lo-speed periph cloc
; | k prescaler, LOSPCLK=SYSCLKOUT/4
;----------------------------------------------------------------------
MOV @_SysCtrlRegs+11,#2 ; |71|
.line 59
;----------------------------------------------------------------------
; 73 | SysCtrlRegs.PCLKCR.bit.ECANENCLK = 1; // SYSCLK to CAN enabled
;----------------------------------------------------------------------
OR @_SysCtrlRegs+12,#0x4000 ; |73|
.line 60
;----------------------------------------------------------------------
; 74 | SysCtrlRegs.PCLKCR.bit.SCIBENCLK = 1; // LSPCLK to SCIB enabled
;----------------------------------------------------------------------
OR @_SysCtrlRegs+12,#0x0800 ; |74|
.line 61
;----------------------------------------------------------------------
; 75 | SysCtrlRegs.PCLKCR.bit.SCIAENCLK = 1; // LSPCLK to SCIA enabled
;----------------------------------------------------------------------
OR @_SysCtrlRegs+12,#0x0400 ; |75|
.line 62
;----------------------------------------------------------------------
; 76 | SysCtrlRegs.PCLKCR.bit.SPIENCLK = 1; // LSPCLK to SPI enabled
;----------------------------------------------------------------------
OR @_SysCtrlRegs+12,#0x0100 ; |76|
.line 63
;----------------------------------------------------------------------
; 77 | SysCtrlRegs.PCLKCR.bit.ADCENCLK = 1; // HSPCLK to ADC enabled
;----------------------------------------------------------------------
OR @_SysCtrlRegs+12,#0x0008 ; |77|
.line 64
;----------------------------------------------------------------------
; 78 | SysCtrlRegs.PCLKCR.bit.EVAENCLK = 1; // HSPCLK to EVA enabled
;----------------------------------------------------------------------
OR @_SysCtrlRegs+12,#0x0001 ; |78|
.line 67
;----------------------------------------------------------------------
; 81 | SysCtrlRegs.LPMCR0.all = 0x00FC; // LPMCR0 set to defaul
; | t value
;----------------------------------------------------------------------
MOV @_SysCtrlRegs+14,#252 ; |81|
.line 68
;----------------------------------------------------------------------
; 82 | SysCtrlRegs.LPMCR1.all = 0x0000; // LPMCR1 set to defaul
; | t value
;----------------------------------------------------------------------
MOV @_SysCtrlRegs+15,#0 ; |82|
.line 71
;----------------------------------------------------------------------
; 85 | asm(" EDIS"); // Disable EALL
; | OW protected register access
;----------------------------------------------------------------------
EDIS
.line 73
;----------------------------------------------------------------------
; 87 | } //end InitSysCtrl()
;----------------------------------------------------------------------
SUBB SP,#1
LRETR
; return occurs
.endfunc 87,000000000h,1
.sect "secureRamFuncs"
.global _InitFlash
.sym _InitFlash,_InitFlash, 32, 2, 0
.func 106
;----------------------------------------------------------------------
; 106 | void InitFlash(void)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _InitFlash FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_InitFlash:
.line 2
.line 3
;----------------------------------------------------------------------
; 108 | asm(" EALLOW");
; | // Enable EALLOW protected register access
;----------------------------------------------------------------------
EALLOW
.line 4
;----------------------------------------------------------------------
; 109 | FlashRegs.FPWR.bit.PWR = 3;
; | // Pump and bank set to active mode
;----------------------------------------------------------------------
MOVW DP,#_FlashRegs+2
OR @_FlashRegs+2,#0x0003 ; |109|
.line 5
;----------------------------------------------------------------------
; 110 | FlashRegs.FSTATUS.bit.V3STAT = 1; // Clea
; | r the 3VSTAT bit
;----------------------------------------------------------------------
OR @_FlashRegs+3,#0x0100 ; |110|
.line 6
;----------------------------------------------------------------------
; 111 | FlashRegs.FSTDBYWAIT.bit.STDBYWAIT = 0x01FF; // Sleep to standby tra
; | nsition cycles
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -