📄 system.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx system.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\system.if
; dspopt NOT RUN
; C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\system.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\system.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\system.tmp
.port
.bss _globalLevel,1,1
.file "system.c"
.file "f2407regs_c.h"
.globl _IMR
.globl _GREG
.globl _IFR
.globl _IMRADDR
.globl _PIRQR0
.globl _PIRQR1
.globl _PIRQR2
.globl _PIACKR0
.globl _PIACKR1
.globl _PIACKR2
.globl _SCSR1
.globl _SCSR2
.globl _DINR
.globl _PIVR
.globl _WDCNTR
.globl _WDKEY
.globl _WDCR
.globl _SPICCR
.globl _SPICTL
.globl _SPISTS
.globl _SPIBRR
.globl _SPIEMU
.globl _SPIRXBUF
.globl _SPITXBUF
.globl _SPIDAT
.globl _SPIPRI
.globl _SCICCR
.globl _SCICTL1
.globl _SCIHBAUD
.globl _SCILBAUD
.globl _SCICTL2
.globl _SCIRXST
.globl _SCIRXEMU
.globl _SCIRXBUF
.globl _SCITXBUF
.globl _SCIPRI
.globl _XINT1CR
.globl _XINT2CR
.globl _PADATDIR
.globl _PBDATDIR
.globl _PCDATDIR
.globl _PDDATDIR
.globl _PEDATDIR
.globl _PFDATDIR
.globl _MCRA
.globl _MCRB
.globl _MCRC
.globl _ADCCTRL1
.globl _ADCCTRL2
.globl _MAXCONV
.globl _CHSELSEQ1
.globl _CHSELSEQ2
.globl _CHSELSEQ3
.globl _CHSELSEQ4
.globl _AUTOSEQSR
.globl _RESULT0
.globl _RESULT1
.globl _RESULT2
.globl _RESULT3
.globl _RESULT4
.globl _RESULT5
.globl _RESULT6
.globl _RESULT7
.globl _RESULT8
.globl _RESULT9
.globl _RESULT10
.globl _RESULT11
.globl _RESULT12
.globl _RESULT13
.globl _RESULT14
.globl _RESULT15
.globl _CALIBRATION
.globl _MDER
.globl _TCR
.globl _RCR
.globl _MCR
.globl _BCR2
.globl _BCR1
.globl _ESR
.globl _GSR
.globl _CEC
.globl _CANIFR
.globl _CANIMR
.globl _LAM0H
.globl _LAM0L
.globl _LAM1H
.globl _LAM1L
.globl _MSGID0L
.globl _MSGID0H
.globl _MSGCTRL0
.globl _MBX0A
.globl _MBX0B
.globl _MBX0C
.globl _MBX0D
.globl _MSGID1L
.globl _MSGID1H
.globl _MSGCTRL1
.globl _MBX1A
.globl _MBX1B
.globl _MBX1C
.globl _MBX1D
.globl _MSGID2L
.globl _MSGID2H
.globl _MSGCTRL2
.globl _MBX2A
.globl _MBX2B
.globl _MBX2C
.globl _MBX2D
.globl _MSGID3L
.globl _MSGID3H
.globl _MSGCTRL3
.globl _MBX3A
.globl _MBX3B
.globl _MBX3C
.globl _MBX3D
.globl _MSGID4L
.globl _MSGID4H
.globl _MSGCTRL4
.globl _MBX4A
.globl _MBX4B
.globl _MBX4C
.globl _MBX4D
.globl _MSGID5L
.globl _MSGID5H
.globl _MSGCTRL5
.globl _MBX5A
.globl _MBX5B
.globl _MBX5C
.globl _MBX5D
.globl _GPTCONA
.globl _T1CNT
.globl _T1CMPR
.globl _T1PR
.globl _T1CON
.globl _T2CNT
.globl _T2CMPR
.globl _T2PR
.globl _T2CON
.globl _COMCONA
.globl _ACTRA
.globl _DBTCONA
.globl _CMPR1
.globl _CMPR2
.globl _CMPR3
.globl _CAPCONA
.globl _CAPFIFOA
.globl _CAP1FIFO
.globl _CAP2FIFO
.globl _CAP3FIFO
.globl _CAP1FBOT
.globl _CAP2FBOT
.globl _CAP3FBOT
.globl _EVAIMRA
.globl _EVAIMRB
.globl _EVAIMRC
.globl _EVAIFRA
.globl _EVAIFRB
.globl _EVAIFRC
.globl _GPTCONB
.globl _T3CNT
.globl _T3CMPR
.globl _T3PR
.globl _T3CON
.globl _T4CNT
.globl _T4CMPR
.globl _T4PR
.globl _T4CON
.globl _COMCONB
.globl _ACTRB
.globl _DBTCONB
.globl _CMPR4
.globl _CMPR5
.globl _CMPR6
.globl _CAPCONB
.globl _CAPFIFOB
.globl _CAP4FIFO
.globl _CAP5FIFO
.globl _CAP6FIFO
.globl _CAP4FBOT
.globl _CAP5FBOT
.globl _CAP6FBOT
.globl _EVBIMRA
.globl _EVBIMRB
.globl _EVBIMRC
.globl _EVBIFRA
.globl _EVBIFRB
.globl _EVBIFRC
.globl _WSGR
.file "global.h"
.globl _port8001
.file "system.c"
.globl _globalLevel
.globl _ledVlu
.globl _bPowerUp
.globl _deviceAddr
.globl _cfgdata
.globl _pcdata
.globl _nothing
.globl _initSystem
.globl _disable
.globl _enable
.globl _systemDelay
.text
.sym _nothing,_nothing,32,2,0
.globl _nothing
.func 19
;>>>> void interrupt nothing()
******************************************************
* FUNCTION DEF : _nothing
******************************************************
_nothing:
CALL I$$SAVE
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" clrc INTM");
clrc INTM
EPI0_1:
.line 4
SBRK 1
B I$$REST,AR1 ;and return
.endfunc 22,000000000H,1
.sym _initSystem,_initSystem,32,2,0
.globl _initSystem
.func 23
;>>>> void initSystem()
******************************************************
* FUNCTION DEF : _initSystem
******************************************************
_initSystem:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" setc INTM");
setc INTM
.line 4
;>>>> asm(" clrc SXM");
clrc SXM
.line 5
;>>>> asm(" clrc OVM");
;>>>> // asm(" clrc CNF");
clrc OVM
.line 8
;>>>> SCSR1 = 0x81fe; /* clkin = 10M,clkout = 40M*/
LDPK _SCSR1
SPLK #-32258,_SCSR1
.line 9
;>>>> IMR = 0x00;
LACK 0
LDPK _IMR
SACL _IMR
.line 10
;>>>> IFR = 0xFFFF;
LDPK _IFR
SPLK #-1,_IFR
.line 12
;>>>> LB_0;UB_0; // high,low byte selected
LACK 65519
LDPK _MCRC
AND _MCRC
SACL _MCRC
LACK 4096
LDPK _PEDATDIR
OR _PEDATDIR
SACL _PEDATDIR
LACK 65519
AND _PEDATDIR
SACL _PEDATDIR
LACK 65527
LDPK _MCRC
AND _MCRC
SACL _MCRC
LACK 2048
LDPK _PEDATDIR
OR _PEDATDIR
SACL _PEDATDIR
LACK 65527
AND _PEDATDIR
SACL _PEDATDIR
.line 13
;>>>> A15_0;A16_0;A17_0;CS_RAM_1;cs_flash_1;//added after debugging
LACK 32767
LDPK _MCRA
AND _MCRA
SACL _MCRA
LALK 1,15
LDPK _PBDATDIR
OR _PBDATDIR
SACL _PBDATDIR
LACK 65407
AND _PBDATDIR
SACL _PBDATDIR
LACK 65471
LDPK _MCRB
AND _MCRB
SACL _MCRB
LACK 1024
LDPK _PCDATDIR
OR _PCDATDIR
SACL _PCDATDIR
LACK 65531
AND _PCDATDIR
SACL _PCDATDIR
LACK 65471
LDPK _MCRA
AND _MCRA
SACL _MCRA
LACK 16384
LDPK _PADATDIR
OR _PADATDIR
SACL _PADATDIR
LACK 65471
AND _PADATDIR
SACL _PADATDIR
LACK 63487
LDPK _MCRC
AND _MCRC
SACL _MCRC
LACK 2056
LDPK _PFDATDIR
OR _PFDATDIR
SACL _PFDATDIR
LACK 64511
LDPK _MCRC
AND _MCRC
SACL _MCRC
LACK 1028
LDPK _PFDATDIR
OR _PFDATDIR
SACL _PFDATDIR
.line 14
;>>>> Check_SST_39VF400A(); //added after debugging
CALL _Check_SST_39VF400A
.line 15
;>>>> readAllCfg(); //added after debugging
CALL _readAllCfg
.line 16
;>>>> globalLevel = cfgdata[25] >> 8;
RSXM
LDPK _cfgdata+25
LAC _cfgdata+25,7
LDPK _globalLevel
SACH _globalLevel,1
.line 17
;>>>> if( (cfgdata[80]&0xff) == 0xAA ) //add watchdog
LACK 255
LDPK _cfgdata+80
AND _cfgdata+80
SUBK 170
BNZ L1
.line 19
;>>>> WDCR = 0xaf; // enable watchdog
LACK 175
LDPK _WDCR
SACL _WDCR
.line 20
;>>>> SCSR2 |= 0x20 ;
;>>>> else //no watchdog
LACK 32
LDPK _SCSR2
OR _SCSR2
SACL _SCSR2
B L2
L1:
.line 24
;>>>> SCSR2 |= 0x00; //WD OVERRIDE = 1
.line 25
;>>>> WDCR = 0xe8; // WDDIS = 1,clr wd,disable watchdog
LACK 232
LDPK _WDCR
SACL _WDCR
L2:
.line 28
;>>>> externRam_init( );
CALL _externRam_init
.line 29
;>>>> feedWatchDog();
CALL _feedWatchDog
.line 30
;>>>> deviceAddr = readAddr( );//读设备地址
CALL _readAddr
LDPK _deviceAddr
SACL _deviceAddr
.line 32
;>>>> initIo( );
CALL _initIo
.line 33
;>>>> initTimer3();
CALL _initTimer3
.line 34
;>>>> simInit();
CALL _simInit
.line 35
;>>>> feedWatchDog();
CALL _feedWatchDog
.line 36
;>>>> serialPortInit();
CALL _serialPortInit
.line 37
;>>>> feedWatchDog();
CALL _feedWatchDog
.line 38
;>>>> setX9c503ToLowest();
CALL _setX9c503ToLowest
.line 39
;>>>> Pcf8583IoInit();//i2c
CALL _Pcf8583IoInit
.line 40
;>>>> ledOptInit(); // 273_clk,273_clr as ioport
CALL _ledOptInit
.line 41
;>>>> bPowerUp = 1;
LACK 1
LDPK _bPowerUp
SACL _bPowerUp
.line 42
;>>>> ledVlu = 0x00; /* close 5 leds,opt out disable*/
LACK 0
LDPK _ledVlu
SACL _ledVlu
.line 43
;>>>> LedOptOut();
CALL _LedOptOut
.line 44
;>>>> initRfPara();
CALL _initRfPara
.line 45
;>>>> enable();
;>>>> // judgePower();
CALL _enable
EPI0_2:
.line 47
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 69,000000000H,1
.sym _disable,_disable,32,2,0
.globl _disable
.func 70
;>>>> void inline disable()
******************************************************
* FUNCTION DEF : _disable
******************************************************
_disable:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" setc INTM");
setc INTM
EPI0_3:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 73,000000000H,1
.sym _enable,_enable,32,2,0
.globl _enable
.func 74
;>>>> void inline enable()
******************************************************
* FUNCTION DEF : _enable
******************************************************
_enable:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" clrc INTM");
clrc INTM
EPI0_4:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 77,000000000H,1
.sym _systemDelay,_systemDelay,32,2,0
.globl _systemDelay
.func 79
;>>>> void systemDelay(uchar n)
******************************************************
* FUNCTION DEF : _systemDelay
******************************************************
_systemDelay:
LF5 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,3
LAR AR0,*0+,AR2
.sym _n,-3+LF5,12,9,16
.sym _i,1,12,1,16
.sym _j,2,12,1,16
.line 2
;>>>> uchar i,j;
.line 4
;>>>> for(i=0;i<n;i++)
LACK 0
LARK AR2,1
MAR *0+
SACL *
ZALS *
SBRK 4-LF5
SUBS *
BGEZ L4
MAR * ,AR1
L3:
.line 6
;>>>> feedWatchDog();
CALL _feedWatchDog,AR1
.line 7
;>>>> for(j=0;j<10000;j++)
LACK 0
MAR * ,AR2
LARK AR2,2
MAR *0+
SACL *
ZALS *
SUBK 10000
BGEZ L6
L5:
.line 9
;>>>> j=j;
LAC *
SACL *
.line 7
LAC *
ADDK 1
SACL *
ZALS *
SUBK 10000
BLZ L5
L6:
.line 4
MAR *-
LAC *
ADDK 1
SACL *
ZALS *
SBRK 4-LF5
SUBS * ,AR1
BLZ L3
L4:
EPI0_5:
.line 12
MAR * ,AR1
SBRK 4
LAR AR0,*-
PSHD *
RET
.endfunc 90,000000000H,3
.sym _globalLevel,_globalLevel,12,2,16
.globl _globalLevel
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global I$$SAVE
.global I$$REST
.global _Check_SST_39VF400A
.global _readAllCfg
.global _externRam_init
.global _feedWatchDog
.global _readAddr
.global _initIo
.global _initTimer3
.global _simInit
.global _serialPortInit
.global _setX9c503ToLowest
.global _Pcf8583IoInit
.global _ledOptInit
.global _LedOptOut
.global _initRfPara
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -