📄 bootromfwr.lst
字号:
RC51 COMPILER V03.03.27, BOOTROMFWR 12/08/02 02:20:39 PAGE 1
QCW(0x00002F32)
WIN32 RC51 COMPILER V03.03.27, COMPILATION OF MODULE BOOTROMFWR
OBJECT MODULE PLACED IN d:\data\msc1210\ride\flashaccess\bootromfwr\bootromfwr.o
-bj
COMPILER INVOKED BY: RC51.EXE D:\DATA\MSC1210\RIDE\FLASHACCESS\BOOTROMFWR\BOOTRO
-MFWR.C OBJECT(D:\DATA\MSC1210\RIDE\FLASHACCESS\BOOTROMFWR\BOOTROMFW
-R.OBJ) PIN(D:\RIDE\INC) NOAM PR(D:\DATA\MSC1210\RIDE\FLASHACCESS\BO
-OTROMFWR\BOOTROMFWR.LST) CD SB OE(1) SM MODAMD(DP2) FP(NOFLOAT) PW(
-80) NOIS UNSIGNEDCHAR ET(CHAR)
stmt level source
1 // Texas Instruments
2 // Name: BootRomFWR.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 char page_erase (int faddr, char fdata, char fdm);
11 extern char write_flash_chk (int faddr, char fdata, char fdm);
12 void main(void)
13 {
14 1 xdata char xchar _at_ 0x0400;
15 1 code char cchar _at_ 0x1000;
WARNING C217 IN LINE 15 OF bootromfwr.c : 'cchar' local variable code qualified
- : 'static' assumed
16 1 char error=0;
17 1 CKCON &= 0xf8; // 0 MOVX cycle stretch
18 1 PDCON &= 0xfd; // turn on sys timer
19 1 USEC = 2-1; // Flash Related Timer Setup
20 1 MSEC = 1843-1;
21 1 RCAP2 = 65535; // UART0 setup: 57600 Baud @ 1.8432MHz
22 1 T2CON = 0x34; // T2 as baudrate generator
23 1 SCON = 0x52; // Async mode 1, 8-bit UART, enable rcvr, TI
-=1, RI=0
24 1 printf("\x1b[46;37m\x1b[25C\x1b[2J");
25 1 printf("MSC1210 BootROM Routines for Flash Data/Program Memory Wr
-ite/Erase\n");
26 1 //init_VonNeumann();
27 1 if (!write_flash_chk(&xchar,0x55,FDM) && xchar==0x55 )
WARNING C207 IN LINE 27 OF bootromfwr.c : suspicious pointer conversion
28 1 printf("Pass: Write Xdata 0x0400 with 0x55\n"); else error=1;
29 1 if (!page_erase(&xchar, 0xff, FDM) && xchar== 0xff)
WARNING C207 IN LINE 29 OF bootromfwr.c : suspicious pointer conversion
30 1 printf("Pass: Erase Xdata 0x400~0x47F\n"); else error=1;
31 1 if (!write_flash_chk(&cchar,0xAA,FPM) && cchar==0xAA )
WARNING C207 IN LINE 31 OF bootromfwr.c : suspicious pointer conversion
32 1 printf("Pass: Write Code 0x1000 with 0xAA\n"); else error=1;
33 1 if (!page_erase(&cchar, 0xff, FPM) && cchar== 0xff)
WARNING C207 IN LINE 33 OF bootromfwr.c : suspicious pointer conversion
34 1 printf("Pass: Erase Code 0x1000~0x107F\n"); else error=1;
-
35 1 if (error==1) printf("Error found. Testing fail.\n");
36 1
37 1 while(1){;}
38 1 }
39
RC51 COMPILER V03.03.27, BOOTROMFWR 12/08/02 02:20:39 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 16
0000 750000 R MOV error,#000H
; SOURCE LINE # 17
0003 538EF8 ANL CKCON,#0F8H
; SOURCE LINE # 18
0006 53F1FD ANL PDCON,#0FDH
; SOURCE LINE # 19
0009 75FB01 MOV USEC,#001H
; SOURCE LINE # 20
000C 75FD07 MOV MSEC+01H,#007H
000F 75FC32 MOV MSEC,#032H
; SOURCE LINE # 21
0012 74FF MOV A,#0FFH
0014 F5CB MOV RCAP2+01H,A
0016 F5CA MOV RCAP2,A
; SOURCE LINE # 22
0018 75C834 MOV T2CON,#034H
; SOURCE LINE # 23
001B 759852 MOV SCON,#052H
; SOURCE LINE # 24
001E 7B05 MOV R3,#005H
0020 7A00 R MOV R2,#HIGH(?STR?BOOTROMFWR?BASE)
0022 7900 R MOV R1,#LOW(?STR?BOOTROMFWR?BASE)
0024 120000 R LCALL ?printf
; SOURCE LINE # 25
0027 7B05 MOV R3,#005H
0029 7A00 R MOV R2,#HIGH(?STR?BOOTROMFWR?BASE + 012H)
002B 7900 R MOV R1,#LOW(?STR?BOOTROMFWR?BASE + 012H)
002D 120000 R LCALL ?printf
; SOURCE LINE # 27
0030 7F00 MOV R7,#LOW (xchar)
0032 7E04 MOV R6,#HIGH (xchar)
0034 7D55 MOV R5,#055H
0036 7B01 MOV R3,#001H
0038 120000 R LCALL _write_flash_chk
003B EF MOV A,R7
003C 7012 JNZ ?ELSE5
003E 900400 MOV DPTR,#xchar
0041 E0 MOVX A,@DPTR
0042 B4550B CJNE A,#055H,?ELSE5
; SOURCE LINE # 28
0045 7B05 MOV R3,#005H
0047 7A00 R MOV R2,#HIGH(?STR?BOOTROMFWR?BASE + 056H)
0049 7900 R MOV R1,#LOW(?STR?BOOTROMFWR?BASE + 056H)
004B 120000 R LCALL ?printf
004E 8003 SJMP ?NXT6
0050 ?ELSE5:
0050 750001 R MOV error,#001H
0053 ?NXT6:
; SOURCE LINE # 29
0053 7E04 MOV R6,#HIGH (xchar)
0055 7F00 MOV R7,#LOW (xchar)
0057 7DFF MOV R5,#0FFH
0059 7B01 MOV R3,#001H
005B 120000 R LCALL _page_erase
005E EF MOV A,R7
005F 7012 JNZ ?ELSE6
0061 900400 MOV DPTR,#xchar
0064 E0 MOVX A,@DPTR
0065 F4 CPL A
0066 700B JNZ ?ELSE6
; SOURCE LINE # 30
0068 7B05 MOV R3,#005H
006A 7A00 R MOV R2,#HIGH(?STR?BOOTROMFWR?BASE + 07AH)
006C 7900 R MOV R1,#LOW(?STR?BOOTROMFWR?BASE + 07AH)
006E 120000 R LCALL ?printf
0071 8003 SJMP ?NXT7
0073 ?ELSE6:
0073 750001 R MOV error,#001H
0076 ?NXT7:
; SOURCE LINE # 31
0076 7E10 MOV R6,#HIGH (cchar)
0078 7F00 MOV R7,#LOW (cchar)
007A 7DAA MOV R5,#0AAH
007C E4 CLR A
007D FB MOV R3,A
007E 120000 R LCALL _write_flash_chk
0081 EF MOV A,R7
0082 7014 JNZ ?ELSE7
0084 901000 MOV DPTR,#cchar
0087 E4 CLR A
0088 93 MOVC A,@A+DPTR
0089 64AA XRL A,#0AAH
008B 700B JNZ ?ELSE7
; SOURCE LINE # 32
008D 7B05 MOV R3,#005H
008F 7A00 R MOV R2,#HIGH(?STR?BOOTROMFWR?BASE + 099H)
0091 7900 R MOV R1,#LOW(?STR?BOOTROMFWR?BASE + 099H)
0093 120000 R LCALL ?printf
0096 8003 SJMP ?NXT8
0098 ?ELSE7:
0098 750001 R MOV error,#001H
009B ?NXT8:
; SOURCE LINE # 33
009B 7E10 MOV R6,#HIGH (cchar)
009D 7F00 MOV R7,#LOW (cchar)
009F 7DFF MOV R5,#0FFH
00A1 E4 CLR A
00A2 FB MOV R3,A
00A3 120000 R LCALL _page_erase
00A6 EF MOV A,R7
00A7 7013 JNZ ?ELSE8
00A9 901000 MOV DPTR,#cchar
00AC E4 CLR A
00AD 93 MOVC A,@A+DPTR
00AE F4 CPL A
00AF 700B JNZ ?ELSE8
; SOURCE LINE # 34
00B1 7B05 MOV R3,#005H
00B3 7A00 R MOV R2,#HIGH(?STR?BOOTROMFWR?BASE + 0BCH)
00B5 7900 R MOV R1,#LOW(?STR?BOOTROMFWR?BASE + 0BCH)
00B7 120000 R LCALL ?printf
00BA 8003 SJMP ?NXT9
00BC ?ELSE8:
00BC 750001 R MOV error,#001H
00BF ?NXT9:
; SOURCE LINE # 35
00BF E500 R MOV A,error
00C1 B40109 CJNE A,#001H,?WHILE1
00C4 7B05 MOV R3,#005H
00C6 7A00 R MOV R2,#HIGH(?STR?BOOTROMFWR?BASE + 0DCH)
00C8 7900 R MOV R1,#LOW(?STR?BOOTROMFWR?BASE + 0DCH)
00CA 120000 R LCALL ?printf
00CD ?WHILE1:
; SOURCE LINE # 37
00CD 80FE SJMP ?WHILE1
; FUNCTION main (END)
RC51 COMPILER V03.03.27, BOOTROMFWR 12/08/02 02:20:39 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
xchar?064. . . . . . . . . . . . . . . AUTO XDATA U_CHAR 0400H 1
cchar?065. . . . . . . . . . . . . . . STATIC CODE U_CHAR 1000H 1
error?066. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
printf . . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
write_flash_chk. . . . . . . . . . . . EXTERN CODE PROC ----- -----
page_erase . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
RC51 COMPILER V03.03.27, BOOTROMFWR 12/08/02 02:20:39 PAGE 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 207 ----
CONSTANT SIZE = 248 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
RC51 COMPILATION COMPLETE. 5 WARNINGS, 0 ERROR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -