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

📄 usbprinterdriver.lst

📁 本代bootloader通过usb下载代码首先存放在sdram中
💻 LST
📖 第 1 页 / 共 2 页
字号:

   \                                 In section .text, align 4, keep-with-next
    108          void USBPrinterDriver_RequestHandler(const USBGenericRequest *request)
    109          {
   \                     USBPrinterDriver_RequestHandler:
   \   00000000   10402DE9           PUSH     {R4,LR}
   \   00000004   0040A0E1           MOV      R4,R0
    110              TRACE_INFO_WP("NewReq ");
   \   00000008   28009FE5           LDR      R0,??USBPrinterDriver_RequestHandler_0  ;; `?<Constant "NewReq ">`
   \   0000000C   ........           BL       printf
    111          
    112              // Handle the request
    113              switch (USBGenericRequest_GetRequest(request)) {
   \   00000010   0400A0E1           MOV      R0,R4
   \   00000014   ........           BL       USBGenericRequest_GetRequest
   \   00000018   190050E3           CMP      R0,#+25
   \   0000001C   0100001A           BNE      ??USBPrinterDriver_RequestHandler_1
    114          
    115                  case USBPrinterGenericRequest_UadataReday:
    116                       USBPrinter_HandleUpdataReday();
   \   00000020   1040BDE8           POP      {R4,LR}
   \   00000024   ........           B        USBPrinter_HandleUpdataReday  ;; tailcall
    117                      break;
    118                  default:
    119                      USBDDriver_RequestHandler(&(usbPrinterDriver.usbdDriver), request);
   \                     ??USBPrinterDriver_RequestHandler_1:
   \   00000028   0410A0E1           MOV      R1,R4
   \   0000002C   ........           LDR      R0,??DataTable1  ;; usbPrinterDriver
    120                      break;
    121              }
    122          }
   \   00000030   1040BDE8           POP      {R4,LR}
   \   00000034   ........           B        USBDDriver_RequestHandler  ;; tailcall
   \                     ??USBPrinterDriver_RequestHandler_0:
   \   00000038   ........           DC32     `?<Constant "NewReq ">`
    123          
    124          //------------------------------------------------------------------------------
    125          /// Receives data from the host through the virtual COM port created by
    126          /// the CDC device serial driver. This function behaves like USBD_Read.
    127          /// \param data Pointer to the data buffer to put received data.
    128          /// \param size Size of the data buffer in bytes.
    129          /// \param callback Optional callback function to invoke when the transfer
    130          ///                 finishes.
    131          /// \param argument Optional argument to the callback function.
    132          /// \return USBD_STATUS_SUCCESS if the read operation has been started normally;
    133          ///         otherwise, the corresponding error code.
    134          //------------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
    135          unsigned char USBPrinterDriver_Read(void *data,
    136                                              unsigned int size,
    137                                              TransferCallback callback,
    138                                              void *argument)
    139          {
   \                     USBPrinterDriver_Read:
   \   00000000   01402DE9           PUSH     {R0,LR}
    140              return USBD_Read(USBPrinterDriverDescriptors_DATAOUT,
    141                               data,
    142                               size,
    143                               callback,
    144                               argument);
   \   00000004   08D04DE2           SUB      SP,SP,#+8
   \   00000008   00308DE5           STR      R3,[SP, #+0]
   \   0000000C   0230A0E1           MOV      R3,R2
   \   00000010   0120A0E1           MOV      R2,R1
   \   00000014   0010A0E1           MOV      R1,R0
   \   00000018   0100A0E3           MOV      R0,#+1
   \   0000001C   ........           BL       USBD_Read
   \   00000020   ........           B        ?Subroutine0
    145          }

   \                                 In section .text, align 4, keep-with-next
   \                     ?Subroutine0:
   \   00000000   08D08DE2           ADD      SP,SP,#+8        ;; stack cleaning
   \   00000004   0050BDE8           POP      {R12,LR}
   \   00000008   1EFF2FE1           BX       LR               ;; return
    146          
    147          //------------------------------------------------------------------------------
    148          /// Sends a data buffer through the virtual COM port created by the CDC
    149          /// device serial driver. This function behaves exactly like USBD_Write.
    150          /// \param data Pointer to the data buffer to send.
    151          /// \param size Size of the data buffer in bytes.
    152          /// \param callback Optional callback function to invoke when the transfer
    153          ///                 finishes.
    154          /// \param argument Optional argument to the callback function.
    155          /// \return USBD_STATUS_SUCCESS if the read operation has been started normally;
    156          ///         otherwise, the corresponding error code.
    157          //------------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
    158          unsigned char USBPrinterDriver_Write(void *data,
    159                                               unsigned int size,
    160                                               TransferCallback callback,
    161                                               void *argument)
    162          {
   \                     USBPrinterDriver_Write:
   \   00000000   01402DE9           PUSH     {R0,LR}
    163              return USBD_Write(USBPrinterDriverDescriptors_DATAIN,
    164                                data,
    165                                size,
    166                                callback,
    167                                argument);
   \   00000004   08D04DE2           SUB      SP,SP,#+8
   \   00000008   00308DE5           STR      R3,[SP, #+0]
   \   0000000C   0230A0E1           MOV      R3,R2
   \   00000010   0120A0E1           MOV      R2,R1
   \   00000014   0010A0E1           MOV      R1,R0
   \   00000018   0200A0E3           MOV      R0,#+2
   \   0000001C   ........           BL       USBD_Write
   \   00000020                      REQUIRE ?Subroutine0
   \   00000020                      ;; // Fall through to label ?Subroutine0
    168          }

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable1:
   \   00000000   ........           DC32     usbPrinterDriver

   \                                 In section .rodata, align 4
   \                     `?<Constant "-I- USBPrinterDriver_...">`:
   \   00000000   2D492D205553       DC8 "-I- USBPrinterDriver_Initialize\012\015"
   \              425072696E74
   \              657244726976
   \              65725F496E69
   \              7469616C697A
   \              650A0D00    
   \   00000022   0000               DC8 0, 0

   \                                 In section .rodata, align 4
   \                     `?<Constant "NewReq ">`:
   \   00000000   4E6577526571       DC8 "NewReq "
   \              2000        
    169          

   Maximum stack usage in bytes:

     Function                       .cstack
     --------                       -------
     USBDCallbacks_RequestReceived       8
     USBPrinterDriver_Initialize         8
     USBPrinterDriver_Read              16
     USBPrinterDriver_RequestHandler
                                         8
     USBPrinterDriver_Write             16


   Section sizes:

     Function/Label                 Bytes
     --------------                 -----
     usbPrinterDriver                 12
     USBDCallbacks_RequestReceived    12
     USBPrinterDriver_Initialize      44
     USBPrinterDriver_RequestHandler
                                      60
     USBPrinterDriver_Read            36
     ?Subroutine0                     12
     USBPrinterDriver_Write           32
     ??DataTable1                      4
     ?<Constant "-I- USBPrinterDriver_...">
                                      36
     ?<Constant "NewReq ">             8

 
  12 bytes in section .bss
  44 bytes in section .rodata
 200 bytes in section .text
 
 200 bytes of CODE  memory
  44 bytes of CONST memory
  12 bytes of DATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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