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

📄 sramfwr.lst

📁 msc1201 编程3
💻 LST
📖 第 1 页 / 共 2 页
字号:
RC51 COMPILER V03.03.27,  SRAMFWR                 11/21/02  15:49:54  PAGE  1

QCW(0x00002F32)

WIN32 RC51 COMPILER V03.03.27, COMPILATION OF MODULE SRAMFWR   
OBJECT MODULE PLACED IN d:\data\msc1210\ride\flashaccess\sramfwr\sramfwr.obj
COMPILER INVOKED BY: RC51.EXE D:\DATA\MSC1210\RIDE\FLASHACCESS\SRAMFWR\SRAMFWR.C
            - OBJECT(D:\DATA\MSC1210\RIDE\FLASHACCESS\SRAMFWR\SRAMFWR.OBJ) PIN(D
            -:\RIDE\INC) NOAM PR(D:\DATA\MSC1210\RIDE\FLASHACCESS\SRAMFWR\SRAMFW
            -R.LST) CD SB OE(1) SM MODAMD(DP2) FP(NOFLOAT) PW(80) NOIS UNSIGNEDC
            -HAR ET(CHAR) 

stmt level    source
   1          // Texas Instruments
   2          // Name:	SRAMFWR.c
   3          // Revision: 	1.0
   4          // Description: Write/ErasePage Flash Data/Program using BootRom R
            -outine
   5          // 				Using MSC1210-DAQEVM 
   6          #include <REG1210.H>
   7          #include <stdio.h>
   8          #define FDM				1			// Flash Data Memory
   9          #define FPM				0			// Flash Program Memory
  10          extern void init_VonNeumann(void);
  11          extern void write_flash_byte (int faddr, char fdata);
  12          char write_flash_chk(int faddr, char fdata, char fdm)
  13          {	unsigned char ie, eicon, c;
  14   1      	ie=IE; eicon=EICON; //Backup Interrupt values
  15   1      	IE &= 0x7f;				// Turn off EA;
  16   1      	EICON &= 0xdf;			// Turn off AuxInt
  17   1      	MWS = !fdm;				// redirect MOVX to program write for FPM
  18   1      	write_flash_byte(faddr,fdata); 
  19   1      	MWS=0; EICON=eicon; IE=ie;
  20   1      	c=(fdm==FDM)?*(char xdata *) faddr: *(char code *) faddr;
  21   1      	if (fdata==c) return(0); else return(1);
  22   1      }
  23          char page_erase(int faddr, char fdata, char fdm)
  24          {  char i;
  25   1      	FMCON |= 0x40; // set flash page erase bit
  26   1      	i=write_flash_chk(faddr,fdata,fdm);
  27   1      	FMCON &= 0xbf; // clear flash page erase bit
  28   1      	return(i);
  29   1      }
  30          
  31          void main(void)
  32          { 
  33   1      	xdata char xchar _at_ 0x0400; 
  34   1      	code  char cchar _at_ 0x1000;

WARNING C217 IN LINE 34 OF sramfwr.c : 'cchar' local variable code qualified : 
            -'static' assumed
  35   1      	char error=0;
  36   1      	CKCON &= 0xf8; 	// 0 MOVX cycle stretch
  37   1      	PDCON &= 0xfd;		// turn on sys timer	
  38   1      	USEC = 2-1;			// Flash Related Timer Setup
  39   1      	MSEC = 1843-1;  
  40   1         RCAP2  = 65535;  // UART0 setup: 57600 Baud @ 1.8432MHz
  41   1         T2CON  = 0x34;   // 		T2 as baudrate generator 
  42   1         SCON   = 0x52;   // 		Async mode 1, 8-bit UART, enable rcvr, TI
            -=1, RI=0
  43   1      	printf("\x1b[46;37m\x1b[25C\x1b[2J");
  44   1      	printf("MSC1210 VonNeumann SRAM Routines for Flash Data/Program M
            -emory Write/Erase\n");
  45   1      	init_VonNeumann();
  46   1      	if (!write_flash_chk(&xchar,0x55,FDM) && xchar==0x55 ) 		

WARNING C207 IN LINE 46 OF sramfwr.c : suspicious pointer conversion
  47   1      		printf("Pass: Write Xdata 0x0400 with 0x55\n"); 	else error=1;
  48   1      	if (!page_erase(&xchar, 0xff, FDM) && xchar== 0xff)

WARNING C207 IN LINE 48 OF sramfwr.c : suspicious pointer conversion
  49   1      	   printf("Pass: Erase Xdata 0x400~0x47F\n"); 			else error=1;
  50   1      	if (!write_flash_chk(&cchar,0xAA,FPM) && cchar==0xAA )

WARNING C207 IN LINE 50 OF sramfwr.c : suspicious pointer conversion
  51   1      		printf("Pass: Write Code 0x1000 with 0xAA\n"); 		else error=1;
  52   1      	if (!page_erase(&cchar, 0xff, FPM) && cchar== 0xff)

WARNING C207 IN LINE 52 OF sramfwr.c : suspicious pointer conversion
  53   1      	   printf("Pass: Erase Code 0x1000~0x107F\n"); 			else error=1;	 
            -  
  54   1      	if (error==1) printf("Error found. Testing fail.\n");
  55   1      	while(1){;}
  56   1      }
  57          
RC51 COMPILER V03.03.27,  SRAMFWR                 11/21/02  15:49:54  PAGE  2

ASSEMBLY LISTING OF GENERATED OBJECT CODE

            ; FUNCTION _write_flash_chk (BEGIN)
                                           ; SOURCE LINE # 12 
0000 8E00    R      MOV    faddr,R6
0002 8F00    R      MOV    faddr+01H,R7
0004 8D00    R      MOV    fdata,R5
0006 8B00    R      MOV    fdm,R3
                                           ; SOURCE LINE # 14 
0008 85A800  R      MOV    ie,IE
000B 85D800  R      MOV    eicon,EICON
                                           ; SOURCE LINE # 15 
000E 53A87F         ANL    IE,#07FH
                                           ; SOURCE LINE # 16 
0011 53D8DF         ANL    EICON,#0DFH
                                           ; SOURCE LINE # 17 
0014 E500    R      MOV    A,fdm
0016 24FF           ADD    A,#0FFH
0018 B3             CPL    C
0019 E4             CLR    A
001A 33             RLC    A
001B F58F           MOV    MWS,A
                                           ; SOURCE LINE # 18 
001D 120000  R      LCALL  _write_flash_byte
                                           ; SOURCE LINE # 19 
0020 758F00         MOV    MWS,#000H
0023 8500D8  R      MOV    EICON,eicon
0026 8500A8  R      MOV    IE,ie
              ; R6 is assigned to c
                                           ; SOURCE LINE # 20 
0029 E500    R      MOV    A,fdm
002B AB00    R      MOV    R3,fdm
002D 7A00           MOV    R2,#000H
002F 6401           XRL    A,#001H
0031 700B           JNZ    ?ELSE2
0033 850083  R      MOV    DPH,faddr
0036 850082  R      MOV    DPL,faddr+01H
0039 E0             MOVX   A,@DPTR
003A FE             MOV    R6,A
003B FB             MOV    R3,A
003C 8009           SJMP   ?NXT2
003E         ?ELSE2:
003E 850083  R      MOV    DPH,faddr
0041 850082  R      MOV    DPL,faddr+01H
0044 E4             CLR    A
0045 93             MOVC   A,@A+DPTR
0046 FE             MOV    R6,A
0047         ?NXT2:
                                           ; SOURCE LINE # 21 
0047 E500    R      MOV    A,fdata
0049 B50603         CJNE   A,AR6,?ELSE3
004C E4             CLR    A
004D FF             MOV    R7,A
004E 22             RET    
004F         ?ELSE3:
004F 7F01           MOV    R7,#001H
0051 22             RET    

            ; FUNCTION _write_flash_chk (END)

            ; FUNCTION _page_erase (BEGIN)
                                           ; SOURCE LINE # 23 
0000 8E00    R      MOV    faddr,R6
0002 8F00    R      MOV    faddr+01H,R7
              ; Register R5 is assigned to parameter fdata
              ; Register R4 is assigned to parameter fdm
                                           ; SOURCE LINE # 25 
0004 43EE40         ORL    FMCON,#040H
                                           ; SOURCE LINE # 26 
0007 120000  R      LCALL  _write_flash_chk
000A 8F00    R      MOV    i,R7
                                           ; SOURCE LINE # 27 
000C 53EEBF         ANL    FMCON,#0BFH
                                           ; SOURCE LINE # 28 
000F AF00    R      MOV    R7,i
0011 22             RET    

            ; FUNCTION _page_erase (END)

            ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 35 
0000 750000  R      MOV    error,#000H
                                           ; SOURCE LINE # 36 
0003 538EF8         ANL    CKCON,#0F8H
                                           ; SOURCE LINE # 37 

⌨️ 快捷键说明

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