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

📄 flash_modify_1.m51

📁 一个用SST单片机实现单字节FLASH数据存储代替EEPROM的实用例子
💻 M51
字号:
BL51 BANKED LINKER/LOCATER V5.11                                                        07/01/2005  22:55:33  PAGE 1


BL51 BANKED LINKER/LOCATER V5.11, INVOKED BY:
D:\KEIL\C51\BIN\BL51.EXE C_BLOCK1.obj, IAP_SSTMCU.obj, MAIN_BLOCK0.obj TO flash_modify IXREF RAMSIZE (256)


MEMORY MODEL: SMALL


INPUT MODULES INCLUDED:
  C_BLOCK1.obj (C_BLOCK1)
  IAP_SSTMCU.obj (IAP_SSTMCU)
  MAIN_BLOCK0.obj (MAIN_BLOCK0)
  D:\KEIL\C51\LIB\C51S.LIB (?C_STARTUP)
  D:\KEIL\C51\LIB\C51S.LIB (?C?ULCMP)
  D:\KEIL\C51\LIB\C51S.LIB (?C_INIT)


LINK MAP OF MODULE:  flash_modify (C_BLOCK1)


            TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
            -----------------------------------------------------

            * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
            DATA    0008H     000FH     UNIT         _DATA_GROUP_
            DATA    0017H     0004H     UNIT         ?DT?MAIN_BLOCK0
            IDATA   001BH     0001H     UNIT         ?STACK

            * * * * * * *  X D A T A   M E M O R Y  * * * * * * *
            XDATA   0000H     0180H     UNIT         _XDATA_GROUP_

            * * * * * * *   C O D E   M E M O R Y   * * * * * * *
            CODE    0000H     0003H     ABSOLUTE     
            CODE    0003H     00D3H     UNIT         ?PR?MAIN?MAIN_BLOCK0
            CODE    00D6H     00BFH     UNIT         ?PR?_BYTE_MODIFY?IAP_SSTMCU
            CODE    0195H     008CH     UNIT         ?C_C51STARTUP
            CODE    0221H     004EH     UNIT         ?PR?READY?IAP_SSTMCU
            CODE    026FH     001BH     UNIT         ?PR?_BYTE_PROGRAM?IAP_SSTMCU
            CODE    028AH     0019H     UNIT         ?PR?_SECTOR_ERASE?IAP_SSTMCU
            CODE    02A3H     0018H     UNIT         ?PR?_DELAY_100MS?C_BLOCK1
            CODE    02BBH     0017H     UNIT         ?PR?_BYTE_VERIFY?IAP_SSTMCU
            CODE    02D2H     0016H     UNIT         ?PR?_DELAYMS?C_BLOCK1
            CODE    02E8H     0011H     UNIT         ?C?LIB_CODE
            CODE    02F9H     0008H     UNIT         ?C_INITSEG
            CODE    0301H     0007H     UNIT         ?PR?_DELAYUS?C_BLOCK1
            CODE    0308H     0005H     UNIT         ?PR?ERROR?IAP_SSTMCU



OVERLAY MAP OF MODULE:   flash_modify (C_BLOCK1)


SEGMENT                                DATA_GROUP          XDATA_GROUP
  +--> CALLED SEGMENT                START    LENGTH     START    LENGTH
------------------------------------------------------------------------
?C_C51STARTUP                        -----    -----      -----    -----
  +--> ?PR?MAIN?MAIN_BLOCK0
  +--> ?C_INITSEG
BL51 BANKED LINKER/LOCATER V5.11                                                      07/01/2005  22:55:33  PAGE 2



?PR?MAIN?MAIN_BLOCK0                 0008H    0003H      0000H    0100H
  +--> ?PR?_DELAY_100MS?C_BLOCK1
  +--> ?PR?_BYTE_MODIFY?IAP_SSTMCU
  +--> ?PR?_BYTE_VERIFY?IAP_SSTMCU
  +--> ?PR?_DELAYMS?C_BLOCK1
  +--> ?PR?_DELAYUS?C_BLOCK1

?PR?_BYTE_MODIFY?IAP_SSTMCU          000BH    0008H      0100H    0080H
  +--> ?PR?_BYTE_VERIFY?IAP_SSTMCU
  +--> ?PR?_BYTE_PROGRAM?IAP_SSTMCU
  +--> ?PR?_SECTOR_ERASE?IAP_SSTMCU

?PR?_BYTE_PROGRAM?IAP_SSTMCU         -----    -----      -----    -----
  +--> ?PR?READY?IAP_SSTMCU
  +--> ?PR?ERROR?IAP_SSTMCU

?PR?READY?IAP_SSTMCU                 0013H    0004H      -----    -----

?PR?_SECTOR_ERASE?IAP_SSTMCU         -----    -----      -----    -----
  +--> ?PR?READY?IAP_SSTMCU
  +--> ?PR?ERROR?IAP_SSTMCU



SYMBOL TABLE OF MODULE:  flash_modify (C_BLOCK1)

  VALUE           TYPE          NAME
  ----------------------------------

  -------         MODULE        C_BLOCK1
  C:0000H         SYMBOL        _ICE_DUMMY_
  C:02D2H         PUBLIC        _DelayMs
  C:0301H         PUBLIC        _DelayUs
  C:02A3H         PUBLIC        _delay_100ms
  -------         PROC          _DELAYUS
  D:0007H         SYMBOL        n
  C:0301H         LINE#         30
  C:0301H         LINE#         31
  C:0301H         LINE#         32
  C:0307H         LINE#         33
  -------         ENDPROC       _DELAYUS
  -------         PROC          _DELAYMS
  D:0007H         SYMBOL        n
  -------         DO            
  D:0006H         SYMBOL        i
  -------         ENDDO         
  C:02D2H         LINE#         36
  C:02D2H         LINE#         37
  C:02D2H         LINE#         39
  C:02D8H         LINE#         40
  C:02D8H         LINE#         41
  C:02DEH         LINE#         42
  C:02E4H         LINE#         43
  C:02E7H         LINE#         44
  -------         ENDPROC       _DELAYMS
  -------         PROC          _DELAY_100MS
BL51 BANKED LINKER/LOCATER V5.11                                                      07/01/2005  22:55:33  PAGE 3


  D:0007H         SYMBOL        n
  -------         DO            
  D:0004H         SYMBOL        i
  -------         ENDDO         
  C:02A3H         LINE#         49
  C:02A3H         LINE#         50
  C:02A3H         LINE#         52
  C:02A9H         LINE#         53
  C:02A9H         LINE#         54
  C:02B7H         LINE#         55
  C:02BAH         LINE#         56
  -------         ENDPROC       _DELAY_100MS
  -------         ENDMOD        C_BLOCK1

  -------         MODULE        IAP_SSTMCU
  C:0000H         SYMBOL        _ICE_DUMMY_
  D:0090H         PUBLIC        P1
  C:00D6H         PUBLIC        _byte_modify
  D:00B0H         PUBLIC        P3
  D:00A8H         PUBLIC        IE
  C:02BBH         PUBLIC        _byte_verify
  C:0221H         PUBLIC        ready
  D:00B8H         PUBLIC        IP
  D:00B4H         PUBLIC        SFAH
  D:00B1H         PUBLIC        SFCF
  D:00D8H         PUBLIC        CCON
  D:00B3H         PUBLIC        SFAL
  D:00B2H         PUBLIC        SFCM
  C:0308H         PUBLIC        error
  D:00B5H         PUBLIC        SFDT
  D:00C0H         PUBLIC        WDTC
  D:0098H         PUBLIC        SCON
  D:0088H         PUBLIC        TCON
  D:00B6H         PUBLIC        SFST
  D:008EH         PUBLIC        AUXR
  D:00E8H         PUBLIC        IEA
  D:00F8H         PUBLIC        IPA
  C:028AH         PUBLIC        _sector_erase
  D:00C8H         PUBLIC        T2CON
  C:026FH         PUBLIC        _byte_program
  D:00D0H         PUBLIC        PSW
  -------         PROC          _BYTE_MODIFY
  D:000BH         SYMBOL        dataAddr
  D:000DH         SYMBOL        dataByte
  -------         DO            
  D:000EH         SYMBOL        destAddr
  D:0010H         SYMBOL        Addr_Sector
  D:0012H         SYMBOL        counter
  X:0100H         SYMBOL        Ram_Buffer
  -------         ENDDO         
  C:00D6H         LINE#         37
  C:00DCH         LINE#         38
  C:00DCH         LINE#         39
  C:00E2H         LINE#         41
  C:00EBH         LINE#         42
  C:00EEH         LINE#         45
  C:00F7H         LINE#         46
BL51 BANKED LINKER/LOCATER V5.11                                                      07/01/2005  22:55:33  PAGE 4


  C:00F7H         LINE#         47
  C:0100H         LINE#         48
  C:010DH         LINE#         49
  C:010FH         LINE#         50
  C:010FH         LINE#         53
  C:0112H         LINE#         54
  C:0115H         LINE#         55
  C:0118H         LINE#         56
  C:0118H         LINE#         57
  C:012CH         LINE#         58
  C:0134H         LINE#         59
  C:013DH         LINE#         60
  C:014FH         LINE#         61
  C:0158H         LINE#         62
  C:015EH         LINE#         63
  C:0161H         LINE#         64
  C:0161H         LINE#         65
  C:0175H         LINE#         66
  C:017DH         LINE#         67
  C:0186H         LINE#         68
  C:0193H         LINE#         69
  C:0194H         LINE#         70
  -------         ENDPROC       _BYTE_MODIFY
  -------         PROC          _SECTOR_ERASE
  D:0006H         SYMBOL        dataAddr
  -------         DO            
  D:0004H         SYMBOL        destAddr
  -------         ENDDO         
  C:028AH         LINE#         76
  C:028AH         LINE#         77
  C:028AH         LINE#         78
  C:028EH         LINE#         79
  C:0291H         LINE#         80
  C:0293H         LINE#         81
  C:0295H         LINE#         82
  C:0298H         LINE#         83
  C:029FH         LINE#         84
  C:02A2H         LINE#         86
  -------         ENDPROC       _SECTOR_ERASE
  -------         PROC          _BYTE_PROGRAM
  D:0006H         SYMBOL        dataAddr
  D:0005H         SYMBOL        dataByte
  -------         DO            
  D:0002H         SYMBOL        destAddr
  -------         ENDDO         
  C:026FH         LINE#         92
  C:026FH         LINE#         93
  C:026FH         LINE#         94
  C:0273H         LINE#         95
  C:0276H         LINE#         96
  C:0278H         LINE#         97
  C:027AH         LINE#         98
  C:027CH         LINE#         99
  C:027FH         LINE#         100
  C:0286H         LINE#         101
  C:0289H         LINE#         103
  -------         ENDPROC       _BYTE_PROGRAM
BL51 BANKED LINKER/LOCATER V5.11                                                      07/01/2005  22:55:33  PAGE 5


  -------         PROC          _BYTE_VERIFY
  D:0006H         SYMBOL        dataAddr
  -------         DO            
  D:0004H         SYMBOL        destAddr
  D:0007H         SYMBOL        readByte
  -------         ENDDO         
  C:02BBH         LINE#         109
  C:02BBH         LINE#         110
  C:02BBH         LINE#         111
  C:02BFH         LINE#         113
  C:02C2H         LINE#         114
  C:02C4H         LINE#         115
  C:02C6H         LINE#         116
  C:02C9H         LINE#         117
  C:02CBH         LINE#         118
  C:02CEH         LINE#         119
  C:02D1H         LINE#         120
  C:02D1H         LINE#         121
  -------         ENDPROC       _BYTE_VERIFY
  -------         PROC          READY
  -------         DO            
  D:0013H         SYMBOL        TimeOut
  -------         ENDDO         
  C:0221H         LINE#         128
  C:0221H         LINE#         129
  C:0221H         LINE#         130
  C:022AH         LINE#         131
  C:0240H         LINE#         132
  C:0240H         LINE#         133
  C:0245H         LINE#         134
  C:0245H         LINE#         135
  C:0248H         LINE#         136
  C:024BH         LINE#         137
  C:024FH         LINE#         138
  C:024FH         LINE#         139
  C:0264H         LINE#         140
  C:0266H         LINE#         141
  C:0269H         LINE#         142
  C:026CH         LINE#         143
  C:026EH         LINE#         144
  -------         ENDPROC       READY
  -------         PROC          ERROR
  C:0308H         LINE#         149
  C:0308H         LINE#         150
  C:0308H         LINE#         151
  C:030BH         LINE#         154
  C:030BH         LINE#         155
  -------         ENDPROC       ERROR
  -------         ENDMOD        IAP_SSTMCU

  -------         MODULE        MAIN_BLOCK0
  C:0000H         SYMBOL        _ICE_DUMMY_
  D:0090H         PUBLIC        P1
  D:00B0H         PUBLIC        P3
  D:0017H         PUBLIC        ErrorCode
  D:00A8H         PUBLIC        IE
  D:00B8H         PUBLIC        IP
BL51 BANKED LINKER/LOCATER V5.11                                                      07/01/2005  22:55:33  PAGE 6


  B:0090H.2       PUBLIC        LED_ERR
  D:00B1H         PUBLIC        SFCF
  D:00D8H         PUBLIC        CCON
  C:0003H         PUBLIC        main
  D:00C0H         PUBLIC        WDTC
  D:0098H         PUBLIC        SCON
  D:0088H         PUBLIC        TCON
  D:008EH         PUBLIC        AUXR
  D:0018H         PUBLIC        SECT_SIZE
  D:00E8H         PUBLIC        IEA
  B:0090H.3       PUBLIC        LED_OK
  D:0019H         PUBLIC        BLK1_DST_ADDR
  D:00F8H         PUBLIC        IPA
  D:00C8H         PUBLIC        T2CON
  D:00D0H         PUBLIC        PSW
  -------         PROC          MAIN
  -------         DO            
  D:0008H         SYMBOL        destAddr
  D:000AH         SYMBOL        origData
  X:0000H         SYMBOL        x_counter
  X:0002H         SYMBOL        x_data
  X:0003H         SYMBOL        x_array
  -------         ENDDO         
  C:0003H         LINE#         59
  C:0003H         LINE#         60
  C:0003H         LINE#         61
  C:0009H         LINE#         68
  C:000CH         LINE#         72
  C:000FH         LINE#         75
  C:0015H         LINE#         76
  C:001CH         LINE#         77
  C:0032H         LINE#         78
  C:0032H         LINE#         79
  C:0037H         LINE#         80
  C:0043H         LINE#         81
  C:0057H         LINE#         83
  C:005CH         LINE#         84
  C:0061H         LINE#         85
  C:0071H         LINE#         93
  C:0074H         LINE#         94
  C:007CH         LINE#         95
  C:007FH         LINE#         117
  C:0088H         LINE#         118
  C:0093H         LINE#         119
  C:0098H         LINE#         121
  C:00A0H         LINE#         122
  C:00A9H         LINE#         123
  C:00B4H         LINE#         124
  C:00B9H         LINE#         126
  C:00C1H         LINE#         132
  C:00C1H         LINE#         133
  C:00C1H         LINE#         134
  C:00C3H         LINE#         135
  C:00C5H         LINE#         136
  C:00CAH         LINE#         137
  C:00CFH         LINE#         138
  C:00D4H         LINE#         139
BL51 BANKED LINKER/LOCATER V5.11                                                      07/01/2005  22:55:33  PAGE 7


  -------         ENDPROC       MAIN
  -------         ENDMOD        MAIN_BLOCK0

  -------         MODULE        ?C?ULCMP
  C:02E8H         PUBLIC        ?C?ULCMP
  -------         ENDMOD        ?C?ULCMP



INTER-MODULE CROSS-REFERENCE LISTING
------------------------------------


NAME . . . . . . USAGE    MODULE NAMES
--------------------------------------

?C?ULCMP . . . . CODE;    ?C?ULCMP  IAP_SSTMCU  
?C_INITSEGSTART. CODE;    ** L51 GENERATED **  
?C_START . . . . CODE;    ?C_INIT  ?C_STARTUP  
?C_STARTUP . . . CODE;    ?C_STARTUP  MAIN_BLOCK0  
BLK1_DST_ADDR. . DATA;    MAIN_BLOCK0  
ERROR. . . . . . CODE;    IAP_SSTMCU  
ERRORCODE. . . . DATA;    MAIN_BLOCK0  IAP_SSTMCU  
MAIN . . . . . . CODE;    MAIN_BLOCK0  ?C_INIT  
READY. . . . . . CODE;    IAP_SSTMCU  
SECT_SIZE. . . . DATA;    MAIN_BLOCK0  
_BYTE_MODIFY . . CODE;    IAP_SSTMCU  MAIN_BLOCK0  
_BYTE_PROGRAM. . CODE;    IAP_SSTMCU  
_BYTE_VERIFY . . CODE;    IAP_SSTMCU  MAIN_BLOCK0  
_DELAYMS . . . . CODE;    C_BLOCK1  MAIN_BLOCK0  
_DELAYUS . . . . CODE;    C_BLOCK1  MAIN_BLOCK0  
_DELAY_100MS . . CODE;    C_BLOCK1  MAIN_BLOCK0  
_SECTOR_ERASE. . CODE;    IAP_SSTMCU  

Program Size: data=28.0 xdata=384 code=781
LINK/LOCATE RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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