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

📄 main.asm

📁 TMS320C2000Flash操作
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\TOOLS\CC411\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx main.c c:\windows\TEMP\main.if 
;	dspopt NOT RUN
;	C:\TOOLS\CC411\C2000\CGTOOLS\BIN\DSPCG.EXE -o -v2xx -o c:\windows\TEMP\main.if c:\windows\TEMP\main.asm c:\windows\TEMP\main.tmp 
	.port
	.bss	_bufferArray,10,1
	.file	"main.c"
	.include ..\flashalgos\include\var.h 
   .if (DEV_TYPE != LF2407)			    
   .emsg "ERROR: DEV TYPE is not LF2407" 
   .endif                                  
	.globl	_lf240xInitSys
	.globl	_handleError
	.globl	_kernelControlLoop
	.file	"..\\flashalgos\\include\\CFlash.h"
	.globl	_copyClearAlgo
	.globl	_copyEraseAlgo
	.globl	_copyProgramAlgo
	.globl	_copyKernel

	.stag	_FlashAlgoVars,256
	.member	_ADDR,0,4,8,16
	.member	_PAD,16,4,8,16
	.member	_READ,32,4,8,16
	.member	_DATA,48,4,8,16
	.member	_PAD1,64,4,8,16
	.member	_PLS_CNT,80,4,8,16
	.member	_LASTVER,96,4,8,16
	.member	_FL_SECST,112,4,8,16
	.member	_FL_SECEND,128,4,8,16
	.member	_FL_CMD,144,4,8,16
	.member	_ERASESEC,160,4,8,16
	.member	_DATA_PTR,176,4,8,16
	.member	_FAIL_CMD,192,4,8,16
	.member	_SECTOR_KEY,208,4,8,16
	.member	_SECTOR_CMD,224,4,8,16
	.member	_ALGO_STATUS,240,4,8,16
	.eos
	.sym	_FlashAlgoVars,0,8,13,256,_FlashAlgoVars
	.globl	_flashAlgoVars
	.globl	_clearFlash
	.globl	_eraseFlash
	.globl	_programFlash
	.file	"regs240x.h"
	.globl	_portffff
	.globl	_portff0f
	.globl	_port0
	.globl	_port1
	.globl	_port2
	.globl	_port3
	.globl	_port4
	.file	"main.c"

	.sect	".cinit"
	.word	IS1,_bufferArray
	.word	4677
	.word	29750
	.word	-31690
	.word	-30925
	.word	17304
	.word	18755
	.word	10579
	.word	-28030
	.word	30776
	.word	12915
IS1	.set	10

	.sym	_bufferArray,_bufferArray,52,2,160,,10
	.globl	_bufferArray
	.text

	.sym	_main,_main,36,2,0
	.globl	_main

	.func	91
;>>>> 	main()
******************************************************
* FUNCTION DEF : _main
******************************************************
_main:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	9
;>>>> 		lf240xInitSys();     
	CALL	_lf240xInitSys
	.line	16
;>>>> 		copyClearAlgo();	
	CALL	_copyClearAlgo
	.line	17
;>>>> 		copyEraseAlgo();
	CALL	_copyEraseAlgo
	.line	18
;>>>> 		copyProgramAlgo();
	CALL	_copyProgramAlgo
	.line	20
;>>>> 		copyKernel();
	CALL	_copyKernel
	.line	21
;>>>> 	    kernelControlLoop();
	CALL	_kernelControlLoop
EPI0_1:
	.line	23
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	113,000000000H,1
	.sect	"KER_text"

	.sym	_kernelControlLoop,_kernelControlLoop,36,2,0
	.globl	_kernelControlLoop
	.sect	"KER_text"

	.func	114
;>>>> 	int kernelControlLoop(void)
******************************************************
* FUNCTION DEF : _kernelControlLoop
******************************************************
_kernelControlLoop:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	5
;>>>> 		flashAlgoVars.SECTOR_CMD=(SECTOR0+SECTOR1+SECTOR2+SECTOR3);
	LACK	15
	LDPK	_flashAlgoVars+14
	SACL	_flashAlgoVars+14
	.line	8
;>>>> 		clearFlash(&flashAlgoVars);
	LALK	_flashAlgoVars+0
	SACL	*+
	CALL	_clearFlash
	MAR	*-
	.line	11
;>>>> 		if(0!=flashAlgoVars.ALGO_STATUS)
	LDPK	_flashAlgoVars+15
	LAC	_flashAlgoVars+15
	BZ	L1
	.line	13
;>>>> 		handleError();
	CALL	_handleError
L1:
	.line	18
;>>>> 		flashAlgoVars.SECTOR_CMD=(SECTOR0+SECTOR1+SECTOR2+SECTOR3);
	LACK	15
	LDPK	_flashAlgoVars+14
	SACL	_flashAlgoVars+14
	.line	21
;>>>> 		eraseFlash(&flashAlgoVars);
	LALK	_flashAlgoVars+0
	SACL	*+
	CALL	_eraseFlash
	MAR	*-
	.line	25
;>>>> 		if(0!=flashAlgoVars.ALGO_STATUS)
	LDPK	_flashAlgoVars+15
	LAC	_flashAlgoVars+15
	BZ	L2
	.line	27
;>>>> 		handleError();
	CALL	_handleError
L2:
	.line	33
;>>>> 		flashAlgoVars.SECTOR_CMD=(SECTOR0+SECTOR1+SECTOR2+SECTOR3);
	LACK	15
	LDPK	_flashAlgoVars+14
	SACL	_flashAlgoVars+14
	.line	35
;>>>> 	    flashAlgoVars.DATA_PTR=(int)(&bufferArray);
	LALK	_bufferArray+0
	LDPK	_flashAlgoVars+11
	SACL	_flashAlgoVars+11
	.line	37
;>>>> 	    flashAlgoVars.FL_SECEND=10;
	LACK	10
	LDPK	_flashAlgoVars+8
	SACL	_flashAlgoVars+8
	.line	39
;>>>> 		flashAlgoVars.ADDR=0x0023;
	LACK	35
	LDPK	_flashAlgoVars
	SACL	_flashAlgoVars
	.line	41
;>>>> 		programFlash(&flashAlgoVars);
	LALK	_flashAlgoVars+0
	SACL	*+
	CALL	_programFlash
	MAR	*-
	.line	44
;>>>> 		if(0!=flashAlgoVars.ALGO_STATUS)
	LDPK	_flashAlgoVars+15
	LAC	_flashAlgoVars+15
	BZ	L3
	.line	46
;>>>> 		handleError();
	CALL	_handleError
L3:
L4:
	.line	53
;>>>> 		while(1);
	B	L4
	.endfunc	170,000000000H,1
	.sect	"KER_text"

	.sym	_handleError,_handleError,36,2,0
	.globl	_handleError
	.sect	"KER_text"

	.func	172
;>>>> 	int handleError(void)
******************************************************
* FUNCTION DEF : _handleError
******************************************************
_handleError:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

L5:
	.line	4
;>>>> 		while(1);
	B	L5
	.endfunc	177,000000000H,1
	.text

	.sym	_lf240xInitSys,_lf240xInitSys,32,2,0
	.globl	_lf240xInitSys

	.func	180
;>>>> 	void lf240xInitSys(void)
******************************************************
* FUNCTION DEF : _lf240xInitSys
******************************************************
_lf240xInitSys:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	4
;>>>> 	    WDCR=0x6f;              /* Dis-able the watchdog */
	LARK	AR3,28713
	LACK	111
	SACL	* 
	.line	5
;>>>> 	    SCSR1=0x0;				/* PLL = x4 */
	LACK	0
	SBRK	17
	SACL	* ,AR1
EPI0_4:
	.line	7
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	186,000000000H,1
	.end

⌨️ 快捷键说明

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