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

📄 usbprinter.lst

📁 本代bootloader通过usb下载代码首先存放在sdram中
💻 LST
📖 第 1 页 / 共 2 页
字号:
###############################################################################
#                                                                             #
#                                                       24/Apr/2009  16:18:19 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION                    #
# Copyright 1999-2007 IAR Systems. All rights reserved.                       #
#                                                                             #
#    Cpu mode     =  arm                                                      #
#    Endian       =  little                                                   #
#    Source file  =  D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\dev #
#                    ice\usbprinter\USBPrinter.c                              #
#    Command line =  D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\dev #
#                    ice\usbprinter\USBPrinter.c -D at91sam7se512 -D sram -D  #
#                    TRACE_LEVEL=4 -lC D:\basic-dataflash-project-at91sam7se- #
#                    ek\at91sam7se-ek\basic-dataflash-project\ewp\at91sam7se5 #
#                    12_sram\List\ --remarks --diag_suppress Pe826,Pe1375 -o  #
#                    D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
#                    asic-dataflash-project\ewp\at91sam7se512_sram\Obj\       #
#                    --no_cse --no_unroll --no_inline --no_code_motion        #
#                    --no_tbaa --no_clustering --no_scheduling --debug        #
#                    --endian little --cpu ARM7TDMI -e --fpu None             #
#                    --dlib_config "D:\Program Files\arm\ARM\INC\DLib_Config_ #
#                    Full.h" -I D:\basic-dataflash-project-at91sam7se-ek\at91 #
#                    sam7se-ek\basic-dataflash-project\ewp\..\..\..\at91lib/p #
#                    eripherals\ -I D:\basic-dataflash-project-at91sam7se-ek\ #
#                    at91sam7se-ek\basic-dataflash-project\ewp\..\..\..\at91l #
#                    ib\ -I D:\basic-dataflash-project-at91sam7se-ek\at91sam7 #
#                    se-ek\basic-dataflash-project\ewp\..\..\..\at91lib/memor #
#                    ies\ -I D:\basic-dataflash-project-at91sam7se-ek\at91sam #
#                    7se-ek\basic-dataflash-project\ewp\..\..\..\at91lib/boar #
#                    ds/at91sam7se-ek\ -I "D:\Program Files\arm\ARM\INC\"     #
#                    --interwork --cpu_mode arm -Oh                           #
#    List file    =  D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
#                    asic-dataflash-project\ewp\at91sam7se512_sram\List\USBPr #
#                    inter.lst                                                #
#    Object file  =  D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
#                    asic-dataflash-project\ewp\at91sam7se512_sram\Obj\USBPri #
#                    nter.o                                                   #
#                                                                             #
#                                                                             #
###############################################################################

D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\device\usbprinter\USBPrinter.c
      1          #include <board.h>
      2          #include <pio/pio.h>
      3          #include <pio/pio_it.h>
      4          #include <aic/aic.h>
      5          #include <utility/trace.h>
      6          #include<usb\device\core\USBD.h>
      7          #include<usb\device\usbprinter\USBPrinterDriver.h>
      8          #include <usb/device/usbprinter/USBPrinterDriverDescriptors.h>
      9          
     10          #include "USBPrinter.h" 
     11          
     12          #define DATABUFFERSIZE \
     13              BOARD_USB_ENDPOINTS_MAXPACKETSIZE(USBPrinterDriverDescriptors_DATAIN)
     14          

   \                                 In section .bss, align 1
     15          static unsigned char Flag_USBUpdataReday;
   \                     Flag_USBUpdataReday:
   \   00000000                      DS8 1
     16          

   \                                 In section .bss, align 4
     17          static unsigned char usbBuffer[DATABUFFERSIZE];
   \                     usbBuffer:
   \   00000000                      DS8 64
     18          

   \                                 In section .rodata, align 4
     19          static const Pin pinVbus = PIN_USB_VBUS;
   \                     pinVbus:
   \   00000000   0000080000F8       DC32 524288, 0FFFFF800H
   \              FFFF        
   \   00000008   04020000           DC8 4, 2, 0, 0
     20          

   \                                 In section .text, align 4, keep-with-next
     21          static void ISR_Vbus(const Pin *pPin)
     22          {
   \                     ISR_Vbus:
   \   00000000   01402DE9           PUSH     {R0,LR}
     23              if (PIO_Get(&pinVbus)) {
   \   00000004   ........           LDR      R0,??DataTable4  ;; pinVbus
   \   00000008   ........           BL       PIO_Get
   \   0000000C   000050E3           CMP      R0,#+0
   \   00000010   0100000A           BEQ      ??ISR_Vbus_0
     24          
     25                  USBD_Connect();
   \   00000014   0050BDE8           POP      {R12,LR}
   \   00000018   ........           B        USBD_Connect     ;; tailcall
     26              }
     27              else {
     28          
     29                  USBD_Disconnect();
     30              }
     31          }
   \                     ??ISR_Vbus_0:
   \   0000001C   0050BDE8           POP      {R12,LR}
   \   00000020   ........           B        USBD_Disconnect  ;; tailcall
     32          
     33          

   \                                 In section .text, align 4, keep-with-next
     34          static void VBus_Configure( void )
     35          {
   \                     VBus_Configure:
   \   00000000   01402DE9           PUSH     {R0,LR}
     36            
     37               TRACE_INFO("VBus_Configure ");
   \   00000004   40009FE5           LDR      R0,??VBus_Configure_0  ;; `?<Constant "-I- VBus_Configure ">`
   \   00000008   ........           BL       printf
     38          
     39              // Configure PIO
     40              PIO_Configure(&pinVbus, 1);
   \   0000000C   0110A0E3           MOV      R1,#+1
   \   00000010   ........           LDR      R0,??DataTable4  ;; pinVbus
   \   00000014   ........           BL       PIO_Configure
     41              PIO_ConfigureIt(&pinVbus, ISR_Vbus);
   \   00000018   30109FE5           LDR      R1,??VBus_Configure_0+0x4  ;; ISR_Vbus
   \   0000001C   ........           LDR      R0,??DataTable4  ;; pinVbus
   \   00000020   ........           BL       PIO_ConfigureIt
     42              PIO_EnableIt(&pinVbus);
   \   00000024   ........           LDR      R0,??DataTable4  ;; pinVbus
   \   00000028   ........           BL       PIO_EnableIt
     43          
     44              // Check current level on VBus
     45              if (PIO_Get(&pinVbus)) {
   \   0000002C   ........           LDR      R0,??DataTable4  ;; pinVbus
   \   00000030   ........           BL       PIO_Get
   \   00000034   000050E3           CMP      R0,#+0
   \   00000038   0100000A           BEQ      ??VBus_Configure_1
     46          
     47                  // if VBUS present, force the connect
     48                  USBD_Connect();
   \   0000003C   0050BDE8           POP      {R12,LR}
   \   00000040   ........           B        USBD_Connect     ;; tailcall
     49              }
     50              else {
     51                  USBD_Disconnect();
     52              }
     53          }
   \                     ??VBus_Configure_1:
   \   00000044   0050BDE8           POP      {R12,LR}
   \   00000048   ........           B        USBD_Disconnect  ;; tailcall
   \                     ??VBus_Configure_0:
   \   0000004C   ........           DC32     `?<Constant "-I- VBus_Configure ">`
   \   00000050   ........           DC32     ISR_Vbus

   \                                 In section .text, align 4, keep-with-next
     54          void ReceiveData(unsigned int received)
     55          {
     56            unsigned int i;
     57            for (i = 0;i < received;i++)
   \                     ReceiveData:
   \   00000000   000050E3           CMP      R0,#+0
   \   00000004   1EFF2F01           BXEQ     LR
   \                     ??ReceiveData_0:
   \   00000008   010050E2           SUBS     R0,R0,#+1
   \   0000000C   FDFFFF1A           BNE      ??ReceiveData_0
     58                  {
     59          //          *cmd = usbBuffer[i];
     60          //           cmd++;
     61          //           DataNum++;
     62                  }  
     63          }
   \   00000010   1EFF2FE1           BX       LR               ;; return

   \                                 In section .text, align 4, keep-with-next
     64          static void UsbDataReceived(unsigned int unused,
     65                                      unsigned char status,
     66                                      unsigned int received,
     67                                      unsigned int remaining)
     68          {
   \                     UsbDataReceived:
   \   00000000   31402DE9           PUSH     {R0,R4,R5,LR}
   \   00000004   0240A0E1           MOV      R4,R2
   \   00000008   0350A0E1           MOV      R5,R3
     69          
     70           
     71              if (status == USBD_STATUS_SUCCESS)
   \   0000000C   000051E3           CMP      R1,#+0
   \   00000010   0800001A           BNE      ??UsbDataReceived_0
     72              {       
     73          //         ReceiveData(received); 
     74                  TRACE_INFO("UsbDataReceived: %d bytes\n\r",received);
                         ^
Remark[Pe181]: argument is incompatible with corresponding format string
          conversion
   \   00000014   0410A0E1           MOV      R1,R4
   \   00000018   34009FE5           LDR      R0,??UsbDataReceived_1  ;; `?<Constant "-I- UsbDataReceived: ...">`
   \   0000001C   ........           BL       printf
     75                  if ((received == DATABUFFERSIZE) && (remaining > 0)) {
   \   00000020   400054E3           CMP      R4,#+64
   \   00000024   0300001A           BNE      ??UsbDataReceived_0
   \   00000028   000055E3           CMP      R5,#+0
     76                    TRACE_INFO("UsbDataReceived:%d byte\n\r",remaining)
                           ^
Remark[Pe181]: argument is incompatible with corresponding format string
          conversion

  static unsigned char Flag_USBUpdataReday;
                       ^
"D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\device\usbprinter\USBPrinter.c",15  Warning[Pe550]: 
          variable "Flag_USBUpdataReday" was set but never used
   \   0000002C   0510A011           MOVNE    R1,R5
   \   00000030   20009F15           LDRNE    R0,??UsbDataReceived_1+0x4  ;; `?<Constant "-I- UsbDataReceived:%...">`
   \   00000034   ........           BLNE     printf
     77                  }
     78              }
     79              else 

⌨️ 快捷键说明

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