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

📄 c51_usbdisk.m51

📁 51模拟SPI读写SD卡(包括Fat和Fat32文件系统)源代码
💻 M51
📖 第 1 页 / 共 5 页
字号:
BL51 BANKED LINKER/LOCATER V6.00                                                        04/29/2007  12:48:54  PAGE 1


BL51 BANKED LINKER/LOCATER V6.00, INVOKED BY:
D:\KEIL\C51\BIN\BL51.EXE Fat.obj, HAL.obj, Main.obj, ISR.obj, HPI.obj, HPI32.obj, Fat32.obj, DEVICE.obj TO C51_UsbDisk R
>> AMSIZE (256) XDATA (0X0000-0X7FFF)


MEMORY MODEL: SMALL


INPUT MODULES INCLUDED:
  Fat.obj (FAT)
  HAL.obj (HAL)
  Main.obj (MAIN)
  ISR.obj (ISR)
  HPI.obj (HPI)
  HPI32.obj (HPI32)
  Fat32.obj (FAT32)
  DEVICE.obj (DEVICE)
  D:\KEIL\C51\LIB\C51S.LIB (?C_STARTUP)
  D:\KEIL\C51\LIB\C51S.LIB (?C?CLDPTR)
  D:\KEIL\C51\LIB\C51S.LIB (?C?CLDOPTR)
  D:\KEIL\C51\LIB\C51S.LIB (?C?CSTPTR)
  D:\KEIL\C51\LIB\C51S.LIB (?C?CSTOPTR)
  D:\KEIL\C51\LIB\C51S.LIB (?C?IMUL)
  D:\KEIL\C51\LIB\C51S.LIB (?C?UIDIV)
  D:\KEIL\C51\LIB\C51S.LIB (?C?LMUL)
  D:\KEIL\C51\LIB\C51S.LIB (?C?ULDIV)
  D:\KEIL\C51\LIB\C51S.LIB (?C?ULCMP)
  D:\KEIL\C51\LIB\C51S.LIB (?C?ULSHR)
  D:\KEIL\C51\LIB\C51S.LIB (?C?LSHL)
  D:\KEIL\C51\LIB\C51S.LIB (?C?LILDXDATA)
  D:\KEIL\C51\LIB\C51S.LIB (?C?LSTXDATA)
  D:\KEIL\C51\LIB\C51S.LIB (?C?LSTKXDATA)
  D:\KEIL\C51\LIB\C51S.LIB (?C?OFFXADD)


LINK MAP OF MODULE:  C51_UsbDisk (FAT)


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

            * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
                    0008H     0018H                  *** GAP ***
            DATA    0020H     000AH     BIT_ADDR     ?BA?MAIN
            DATA    002AH     0042H     UNIT         _DATA_GROUP_
            IDATA   006CH     0001H     UNIT         ?STACK

            * * * * * * *  X D A T A   M E M O R Y  * * * * * * *
            XDATA   0000H     570BH     UNIT         ?XD?HPI
            XDATA   570BH     2000H     UNIT         ?XD?DEVICE
            XDATA   770BH     0200H     UNIT         ?XD?FAT
            XDATA   790BH     0025H     UNIT         _XDATA_GROUP_
            XDATA   7930H     0008H     UNIT         ?XD?HPI32

            * * * * * * *   C O D E   M E M O R Y   * * * * * * *
            CODE    0000H     0003H     ABSOLUTE     
            CODE    0003H     0020H     UNIT         ?PR?_SDCOMMAND?HAL
BL51 BANKED LINKER/LOCATER V6.00                                                      04/29/2007  12:48:54  PAGE 2


            CODE    0023H     0003H     ABSOLUTE     
            CODE    0026H     087EH     UNIT         ?PR?_CREATEDIR?HPI
            CODE    08A4H     07B3H     UNIT         ?PR?_CREATEFILE?HPI
            CODE    1057H     06D5H     UNIT         ?PR?_CREATEDIR32?HPI32
            CODE    172CH     065DH     UNIT         ?PR?_WRITEFILE?HPI
            CODE    1D89H     056DH     UNIT         ?PR?_CREATEFILE32?HPI32
            CODE    22F6H     0559H     UNIT         ?PR?LIST?HPI
            CODE    284FH     052BH     UNIT         ?PR?INITFILESYSTEM?DEVICE
            CODE    2D7AH     0514H     UNIT         ?PR?_WRITEFILE32?HPI32
            CODE    328EH     03C3H     UNIT         ?PR?_REMOVEFILE?HPI
            CODE    3651H     033FH     UNIT         ?PR?_OPENFILE?HPI
            CODE    3990H     0337H     UNIT         ?PR?GETFREECUSTERNUM32?FAT32
            CODE    3CC7H     030CH     UNIT         ?PR?LIST32?HPI32
            CODE    3FD3H     02B3H     UNIT         ?C?LIB_CODE
            CODE    4286H     02B2H     UNIT         ?PR?_READFILE32?HPI32
            CODE    4538H     02A6H     UNIT         ?PR?_READFILE?HPI
            CODE    47DEH     027AH     UNIT         ?PR?_OPENFILE32?HPI32
            CODE    4A58H     026DH     UNIT         ?PR?_REMOVEFILE32?HPI32
            CODE    4CC5H     026CH     UNIT         ?PR?_DOWNDIR?HPI
            CODE    4F31H     01ECH     UNIT         ?PR?GETFREECUSTERNUM?FAT
            CODE    511DH     01EAH     UNIT         ?PR?_DOWNDIR32?HPI32
            CODE    5307H     019AH     UNIT         ?PR?_DELETECLUSTERLINK32?FAT32
            CODE    54A1H     0174H     UNIT         ?PR?ISR_COMM?ISR
            CODE    5615H     0161H     UNIT         ?PR?_CREATECLUSTERLINK32?FAT32
            CODE    5776H     015BH     UNIT         ?PR?GETCAPACITY32?HPI32
            CODE    58D1H     012BH     UNIT         ?PR?GETCAPACITY?HPI
            CODE    59FCH     0127H     UNIT         ?PR?UARTHANDLER?HPI
            CODE    5B23H     0127H     UNIT         ?PR?UARTHANDLER32?HPI32
            CODE    5C4AH     0118H     UNIT         ?PR?_GOTOPOINTER32?FAT32
            CODE    5D62H     0116H     UNIT         ?PR?MAIN?MAIN
            CODE    5E78H     0114H     UNIT         ?PR?_GOTOPOINTER?FAT
            CODE    5F8CH     010EH     UNIT         ?PR?_DELETECLUSTERLINK?FAT
            CODE    609AH     00F0H     UNIT         ?PR?UPDIR32?HPI32
            CODE    618AH     00D8H     UNIT         ?PR?_GETNEXTCLUSTERNUM32?FAT32
            CODE    6262H     00B2H     UNIT         ?PR?_CREATECLUSTERLINK?FAT
            CODE    6314H     00B0H     UNIT         ?PR?_SDWRITEBLOCK?HAL
            CODE    63C4H     008DH     UNIT         ?PR?_GETNEXTCLUSTERNUM?FAT
            CODE    6451H     008BH     UNIT         ?PR?UARTSENDRSP?HPI
            CODE    64DCH     0085H     UNIT         ?PR?_SDREADBLOCK?HAL
            CODE    6561H     0081H     UNIT         ?PR?_LSWAPINT32?HAL
            CODE    65E2H     007DH     UNIT         ?PR?UPDIR?HPI
            CODE    665FH     0071H     UNIT         ?PR?_SETFILEPOINTER?HPI
            CODE    66D0H     0071H     UNIT         ?PR?_SETFILEPOINTER32?HPI32
            CODE    6741H     0067H     UNIT         ?PR?SDINIT?HAL
            CODE    67A8H     0064H     UNIT         ?PR?_FIRSTSECTOROFCLUSTER32?FAT32
            CODE    680CH     0059H     UNIT         ?PR?_THISFATSECNUM32?FAT32
            CODE    6865H     0055H     UNIT         ?PR?_FIRSTSECTOROFCLUSTER?FAT
            CODE    68BAH     003BH     UNIT         ?PR?_THISFATENTOFFSET32?FAT32
            CODE    68F5H     003AH     UNIT         ?PR?_SDREADSECTOR?DEVICE
            CODE    692FH     003AH     UNIT         ?PR?_SDWRITESECTOR?DEVICE
            CODE    6969H     0023H     UNIT         ?PR?_THISFATSECNUM?FAT
            CODE    698CH     0022H     UNIT         ?PR?UPROOTDIR32?HPI32
            CODE    69AEH     0019H     UNIT         ?PR?_SDWRITE?HAL
            CODE    69C7H     0019H     UNIT         ?PR?SDREAD?HAL
            CODE    69E0H     0018H     UNIT         ?PR?INIT_COMM?MAIN
            CODE    69F8H     0016H     UNIT         ?PR?_THISFATENTOFFSET?FAT
            CODE    6A0EH     0016H     UNIT         ?PR?SDRESPONSE?HAL
BL51 BANKED LINKER/LOCATER V6.00                                                      04/29/2007  12:48:54  PAGE 3


            CODE    6A24H     0014H     UNIT         ?PR?UPROOTDIR?HPI
            CODE    6A38H     000FH     UNIT         ?PR?_LSWAPINT16?HAL
            CODE    6A47H     000DH     UNIT         ?PR?INIT_PORT?MAIN
            CODE    6A54H     000CH     UNIT         ?C_C51STARTUP
            CODE    6A60H     0008H     UNIT         ?PR?_COMSENDBYTE?HAL
            CODE    6A68H     0003H     UNIT         ?PR?_DELAYMS?HAL



OVERLAY MAP OF MODULE:   C51_UsbDisk (FAT)


SEGMENT                                     DATA_GROUP          XDATA_GROUP
  +--> CALLED SEGMENT                     START    LENGTH     START    LENGTH
-----------------------------------------------------------------------------
?PR?ISR_COMM?ISR                          002AH    0005H      790BH    0004H

*** NEW ROOT ***************************************************

?C_C51STARTUP                             -----    -----      -----    -----
  +--> ?PR?MAIN?MAIN

?PR?MAIN?MAIN                             -----    -----      790FH    0004H
  +--> ?PR?INIT_PORT?MAIN
  +--> ?PR?INIT_COMM?MAIN
  +--> ?PR?SDINIT?HAL
  +--> ?PR?UARTHANDLER32?HPI32
  +--> ?PR?UARTHANDLER?HPI
  +--> ?PR?INITFILESYSTEM?DEVICE

?PR?SDINIT?HAL                            002FH    0004H      -----    -----
  +--> ?PR?_SDWRITE?HAL
  +--> ?PR?_SDCOMMAND?HAL
  +--> ?PR?SDRESPONSE?HAL

?PR?_SDCOMMAND?HAL                        0066H    0006H      -----    -----
  +--> ?PR?_SDWRITE?HAL

?PR?SDRESPONSE?HAL                        -----    -----      -----    -----
  +--> ?PR?SDREAD?HAL

?PR?UARTHANDLER32?HPI32                   -----    -----      -----    -----
  +--> ?PR?LIST32?HPI32
  +--> ?PR?_OPENFILE32?HPI32
  +--> ?PR?_READFILE32?HPI32
  +--> ?PR?_SETFILEPOINTER32?HPI32
  +--> ?PR?_CREATEFILE32?HPI32
  +--> ?PR?_WRITEFILE32?HPI32
  +--> ?PR?_REMOVEFILE32?HPI32
  +--> ?PR?GETCAPACITY32?HPI32
  +--> ?PR?_DOWNDIR32?HPI32
  +--> ?PR?_CREATEDIR32?HPI32
  +--> ?PR?UPDIR32?HPI32
  +--> ?PR?UPROOTDIR32?HPI32
  +--> ?PR?UARTSENDRSP?HPI

?PR?LIST32?HPI32                          002FH    0009H      -----    -----
BL51 BANKED LINKER/LOCATER V6.00                                                      04/29/2007  12:48:54  PAGE 4


  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_GETNEXTCLUSTERNUM32?FAT32

?PR?_FIRSTSECTOROFCLUSTER32?FAT32         0049H    0008H      -----    -----

?PR?_SDREADSECTOR?DEVICE                  0057H    0008H      -----    -----
  +--> ?PR?_SDREADBLOCK?HAL

?PR?_SDREADBLOCK?HAL                      005FH    0007H      -----    -----
  +--> ?PR?_SDCOMMAND?HAL
  +--> ?PR?SDRESPONSE?HAL
  +--> ?PR?SDREAD?HAL

?PR?_GETNEXTCLUSTERNUM32?FAT32            0049H    000CH      -----    -----
  +--> ?PR?_THISFATSECNUM32?FAT32
  +--> ?PR?_THISFATENTOFFSET32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_LSWAPINT32?HAL

?PR?_THISFATSECNUM32?FAT32                0055H    0008H      -----    -----

?PR?_THISFATENTOFFSET32?FAT32             0055H    0004H      -----    -----

?PR?_LSWAPINT32?HAL                       0055H    0010H      7916H    0004H

?PR?_OPENFILE32?HPI32                     002FH    0008H      -----    -----
  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_GETNEXTCLUSTERNUM32?FAT32
  +--> ?PR?_LSWAPINT32?HAL

?PR?_READFILE32?HPI32                     002FH    000FH      -----    -----
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_GETNEXTCLUSTERNUM32?FAT32
  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32

?PR?_SETFILEPOINTER32?HPI32               002FH    0004H      -----    -----
  +--> ?PR?_GOTOPOINTER32?FAT32

?PR?_GOTOPOINTER32?FAT32                  0033H    0006H      -----    -----
  +--> ?PR?_GETNEXTCLUSTERNUM32?FAT32
  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32

?PR?_CREATEFILE32?HPI32                   002FH    001AH      7913H    0003H
  +--> ?PR?GETFREECUSTERNUM32?FAT32
  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_SDWRITESECTOR?DEVICE
  +--> ?PR?_GETNEXTCLUSTERNUM32?FAT32
  +--> ?PR?_CREATECLUSTERLINK32?FAT32

?PR?GETFREECUSTERNUM32?FAT32              -----    -----      7923H    000DH
  +--> ?PR?_THISFATSECNUM32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_DELAYMS?HAL
  +--> ?PR?_SDWRITESECTOR?DEVICE
BL51 BANKED LINKER/LOCATER V6.00                                                      04/29/2007  12:48:54  PAGE 5



?PR?_DELAYMS?HAL                          0057H    0001H      -----    -----

?PR?_SDWRITESECTOR?DEVICE                 0057H    0008H      -----    -----
  +--> ?PR?_SDWRITEBLOCK?HAL

?PR?_SDWRITEBLOCK?HAL                     005FH    0007H      -----    -----
  +--> ?PR?_SDCOMMAND?HAL
  +--> ?PR?SDRESPONSE?HAL
  +--> ?PR?_SDWRITE?HAL
  +--> ?PR?SDREAD?HAL

?PR?_CREATECLUSTERLINK32?FAT32            0049H    0004H      7916H    000DH
  +--> ?PR?GETFREECUSTERNUM32?FAT32
  +--> ?PR?_THISFATSECNUM32?FAT32
  +--> ?PR?_THISFATENTOFFSET32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_DELAYMS?HAL
  +--> ?PR?_SDWRITESECTOR?DEVICE

?PR?_WRITEFILE32?HPI32                    002FH    0015H      -----    -----
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_SDWRITESECTOR?DEVICE
  +--> ?PR?_CREATECLUSTERLINK32?FAT32
  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32
  +--> ?PR?_LSWAPINT32?HAL
  +--> ?PR?_GETNEXTCLUSTERNUM32?FAT32

?PR?_REMOVEFILE32?HPI32                   002FH    0009H      -----    -----
  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_LSWAPINT32?HAL
  +--> ?PR?_DELAYMS?HAL
  +--> ?PR?_SDWRITESECTOR?DEVICE
  +--> ?PR?_DELETECLUSTERLINK32?FAT32
  +--> ?PR?_GETNEXTCLUSTERNUM32?FAT32

?PR?_DELETECLUSTERLINK32?FAT32            0038H    000DH      -----    -----
  +--> ?PR?_THISFATSECNUM32?FAT32
  +--> ?PR?_THISFATENTOFFSET32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_LSWAPINT32?HAL
  +--> ?PR?_DELAYMS?HAL
  +--> ?PR?_SDWRITESECTOR?DEVICE

?PR?GETCAPACITY32?HPI32                   002FH    000AH      -----    -----
  +--> ?PR?_SDREADSECTOR?DEVICE

?PR?_DOWNDIR32?HPI32                      002FH    0008H      -----    -----
  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_GETNEXTCLUSTERNUM32?FAT32
  +--> ?PR?_LSWAPINT32?HAL

?PR?_CREATEDIR32?HPI32                    002FH    001AH      7913H    0003H
  +--> ?PR?GETFREECUSTERNUM32?FAT32
  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32
BL51 BANKED LINKER/LOCATER V6.00                                                      04/29/2007  12:48:54  PAGE 6


  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_SDWRITESECTOR?DEVICE
  +--> ?PR?_GETNEXTCLUSTERNUM32?FAT32
  +--> ?PR?_CREATECLUSTERLINK32?FAT32

?PR?UPDIR32?HPI32                         -----    -----      -----    -----
  +--> ?PR?_FIRSTSECTOROFCLUSTER32?FAT32
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_LSWAPINT32?HAL

?PR?UARTSENDRSP?HPI                       002FH    0005H      -----    -----
  +--> ?PR?_COMSENDBYTE?HAL

?PR?UARTHANDLER?HPI                       -----    -----      -----    -----
  +--> ?PR?LIST?HPI
  +--> ?PR?_OPENFILE?HPI
  +--> ?PR?_READFILE?HPI
  +--> ?PR?_SETFILEPOINTER?HPI
  +--> ?PR?_CREATEFILE?HPI
  +--> ?PR?_WRITEFILE?HPI
  +--> ?PR?_REMOVEFILE?HPI
  +--> ?PR?GETCAPACITY?HPI
  +--> ?PR?_DOWNDIR?HPI
  +--> ?PR?_CREATEDIR?HPI
  +--> ?PR?UPDIR?HPI
  +--> ?PR?UPROOTDIR?HPI
  +--> ?PR?UARTSENDRSP?HPI

?PR?LIST?HPI                              002FH    000AH      -----    -----
  +--> ?PR?_SDREADSECTOR?DEVICE
  +--> ?PR?_FIRSTSECTOROFCLUSTER?FAT
  +--> ?PR?_GETNEXTCLUSTERNUM?FAT

?PR?_FIRSTSECTOROFCLUSTER?FAT             0045H    0004H      -----    -----

?PR?_GETNEXTCLUSTERNUM?FAT                0045H    0006H      -----    -----

⌨️ 快捷键说明

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