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

📄 fw_task.lst

📁 at91sam7x256 FREERTOS sd卡的读写程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    409          #endif
    410          
    411              }
    412          
    413              /*******************************/
    414              /* (UDP) USB Suspend Interrupt */
    415              /*******************************/
    416              if(_IT_reg_b1 & AT91C_UDP_RXSUSP)
    417              {
    418                USB_EVENT |= USB_EVENT_MASK_SUSPEND;
   \   00000196   394F               LDR         R7,??fw_isr_0+0x30  ;; USB_EVENT
   \   00000198   BC46               MOV         R12,R7
   \   0000019A   384B               LDR         R3,??fw_isr_0+0x30  ;; USB_EVENT
   \   0000019C   1F78               LDRB        R7,[R3, #+0]
   \   0000019E   0123               MOV         R3,#+1
   \   000001A0   3B43               ORR         R3,R7
   \   000001A2   6746               MOV         R7,R12
   \   000001A4   3B70               STRB        R3,[R7, #+0]
    419          
    420                AT91F_UDP_DisableIt( USBDEV_BASE_UDP, DISABLE_ALL_IT );
   \   000001A6   2F4B               LDR         R3,??fw_isr_0+0x18  ;; 0xfffb0014
   \   000001A8   2F4F               LDR         R7,??fw_isr_0+0x1C  ;; 0x2f0f
   \   000001AA   1F60               STR         R7,[R3, #+0]
    421                AT91F_UDP_InterruptClearRegister( USBDEV_BASE_UDP, CLEAR_ALL_IT );
   \   000001AC   2F4B               LDR         R3,??fw_isr_0+0x20  ;; 0xfffb0020
   \   000001AE   FC27               MOV         R7,#+252
   \   000001B0   BF01               LSL         R7,R7,#+6          ;; #+16128
   \   000001B2   1F60               STR         R7,[R3, #+0]
    422                AT91F_UDP_EnableIt( USBDEV_BASE_UDP,  AT91C_UDP_RXRSM );
   \   000001B4   2E4B               LDR         R3,??fw_isr_0+0x24  ;; 0xfffb0010
   \   000001B6   AF01               LSL         R7,R5,#+6
   \   000001B8   1F60               STR         R7,[R3, #+0]
    423          
    424          #ifdef USE_LED
    425                countLed = 0;
   \   000001BA   254B               LDR         R3,??fw_isr_0+0x4  ;; countLed
   \   000001BC   0027               MOV         R7,#+0
   \   000001BE   1F70               STRB        R7,[R3, #+0]
    426                AT91F_LED_off(0);
   \   000001C0   2D4B               LDR         R3,??fw_isr_0+0x2C  ;; 0xfffcc210
   \   000001C2   1F60               STR         R7,[R3, #+0]
    427                AT91F_LED_off(1);
   \   000001C4   234B               LDR         R3,??fw_isr_0+0x8  ;; 0xfffcc230
   \   000001C6   1F60               STR         R7,[R3, #+0]
    428          #endif
    429          
    430          #ifndef AT91SAM9265
    431                /*************************************************************/
    432                /* from AT91C_MASTER_CLOCK=48MHz to AT91C_MASTER_CLOCK=32kHz */
    433                /*************************************************************/
    434                // AT91C_MASTER_CLOCK = SLCK/2 : change source first from 48 000 000 to 18. / 2 = 9M
    435                AT91F_PMC_CfgMCKReg( AT91C_BASE_PMC, AT91C_PMC_PRES_CLK_2 );
   \   000001C8   0423               MOV         R3,#+4
   \   000001CA   0360               STR         R3,[R0, #+0]
    436                while( !( AT91F_PMC_GetStatus( AT91C_BASE_PMC ) & AT91C_PMC_MCKRDY ) );
   \                     ??fw_isr_14:
   \   000001CC   1368               LDR         R3,[R2, #+0]
   \   000001CE   2B42               TST         R3,R5
   \   000001D0   FCD0               BEQ         ??fw_isr_14
    437          
    438                // AT91C_MASTER_CLOCK=SLCK : then change prescaler
    439                AT91F_PMC_CfgMCKReg( AT91C_BASE_PMC, AT91C_PMC_CSS_SLOW_CLK );
   \   000001D2   0023               MOV         R3,#+0
   \   000001D4   0760               STR         R7,[R0, #+0]
    440                while( !( AT91F_PMC_GetStatus( AT91C_BASE_PMC ) & AT91C_PMC_MCKRDY ) );
   \                     ??fw_isr_15:
   \   000001D6   1068               LDR         R0,[R2, #+0]
   \   000001D8   2842               TST         R0,R5
   \   000001DA   FCD0               BEQ         ??fw_isr_15
    441          
    442                // disable PLL
    443                AT91F_CKGR_CfgPLLReg( AT91C_BASE_CKGR, 0 );
   \   000001DC   0B60               STR         R3,[R1, #+0]
    444          
    445                // disable Main Oscillator
    446                pPMC->PMC_MOR=0;
   \   000001DE   3648               LDR         R0,??fw_isr_0+0x6C  ;; 0xfffffc20
   \   000001E0   0360               STR         R3,[R0, #+0]
    447          
    448          #if defined (AT91SAM9265) || defined (AT91SAM7A3)
    449          #else
    450                // Voltage regulator in standby mode : Enable VREG Low Power Mode
    451                AT91F_VREG_Enable_LowPowerMode( AT91C_BASE_VREG );
   \   000001E2   3448               LDR         R0,??fw_isr_0+0x68  ;; 0xfffffd60
   \   000001E4   0168               LDR         R1,[R0, #+0]
   \   000001E6   0122               MOV         R2,#+1
   \   000001E8   0A43               ORR         R2,R1
   \   000001EA   0260               STR         R2,[R0, #+0]
    452          #endif
    453          
    454          #ifdef USE_LED
    455                AT91F_PMC_DisablePeriphClock( AT91C_BASE_PMC, (1 << AT91C_ID_PWMC));
   \   000001EC   3548               LDR         R0,??fw_isr_0+0x78  ;; 0xfffffc14
   \   000001EE   E901               LSL         R1,R5,#+7
   \   000001F0   0160               STR         R1,[R0, #+0]
    456          #endif
    457          
    458                AT91F_UDP_DisableTransceiver(USBDEV_BASE_UDP);
   \   000001F2   2E48               LDR         R0,??fw_isr_0+0x60  ;; 0xfffb0074
   \   000001F4   8908               LSR         R1,R1,#+2
   \   000001F6   0160               STR         R1,[R0, #+0]
    459          
    460                AT91F_PMC_CfgSysClkDisableReg( AT91C_BASE_PMC, AT91C_PMC_UDP );
   \   000001F8   3348               LDR         R0,??fw_isr_0+0x7C  ;; 0xfffffc04
   \   000001FA   8021               MOV         R1,#+128
   \   000001FC   0160               STR         R1,[R0, #+0]
    461                // AT91F_PMC_CfgSysClkDisableReg( AT91C_BASE_PMC, 1 ); stop
    462          #endif
    463          
    464              }
    465            }
    466          
    467          
    468            if(!(fw_deviceState & FW_DS_TX))
   \                     ??fw_isr_2:
   \   000001FE   2078               LDRB        R0,[R4, #+0]
   \   00000200   8007               LSL         R0,R0,#+30
   \   00000202   0AD4               BMI         ??fw_isr_16
    469            {
    470              if(fw_fifoId.NbOctetsLibres != FW_FIFO_SIZE)
   \   00000204   3148               LDR         R0,??fw_isr_0+0x80  ;; fw_fifoId + 16
   \   00000206   0068               LDR         R0,[R0, #+0]
   \   00000208   A901               LSL         R1,R5,#+6
   \   0000020A   8842               CMP         R0,R1
   \   0000020C   05D0               BEQ         ??fw_isr_16
    471              {
    472                /* a transfer will begin */
    473                fw_deviceState |= FW_DS_TX;
   \   0000020E   2078               LDRB        R0,[R4, #+0]
   \   00000210   0221               MOV         R1,#+2
   \   00000212   0143               ORR         R1,R0
   \   00000214   2170               STRB        R1,[R4, #+0]
    474          
    475                /* if we are not transmitting and there is something to send, signal the task */
    476                fw_mainTxDone();
                                      ^
Warning[Ta023]: Call to a non __ramfunc function (fw_mainTxDone) from within a
          __ramfunc function
   \   00000216   ........           _BLF        fw_mainTxDone,??fw_mainTxDone??rT?CODE_I
    477              }
    478            }
    479          
    480            if((fw_deviceState & FW_DS_RX) && !(fw_deviceState & FW_DS_TB_FULL))
   \                     ??fw_isr_16:
   \   0000021A   2078               LDRB        R0,[R4, #+0]
   \   0000021C   2842               TST         R0,R5
   \   0000021E   08D0               BEQ         ??fw_isr_17
   \   00000220   2078               LDRB        R0,[R4, #+0]
   \   00000222   C006               LSL         R0,R0,#+27
   \   00000224   05D4               BMI         ??fw_isr_17
    481            {
    482              fw_deviceState &= ~FW_DS_RX;
   \   00000226   2078               LDRB        R0,[R4, #+0]
   \   00000228   F721               MOV         R1,#+247
   \   0000022A   0140               AND         R1,R0
   \   0000022C   2170               STRB        R1,[R4, #+0]
    483              /* if something is in the endpoint buffers and at least one TB is free */
    484              fw_mainRxDone();
                                    ^
Warning[Ta023]: Call to a non __ramfunc function (fw_mainRxDone) from within a
          __ramfunc function
   \   0000022E   ........           _BLF        fw_mainRxDone,??fw_mainRxDone??rT?CODE_I
    485            }
    486          
    487            /* clear interrupt */
    488            AT91F_UDP_InterruptClearRegister( USBDEV_BASE_UDP, _IT_reg_b1 & CLEAR_ALL_IT );
   \                     ??fw_isr_17:
   \   00000232   0E48               LDR         R0,??fw_isr_0+0x20  ;; 0xfffb0020
   \   00000234   FC21               MOV         R1,#+252
   \   00000236   8901               LSL         R1,R1,#+6          ;; #+16128
   \   00000238   3140               AND         R1,R6
   \   0000023A   0160               STR         R1,[R0, #+0]
    489            fw_deviceState &= ~FW_DS_INISR;
   \   0000023C   2078               LDRB        R0,[R4, #+0]
   \   0000023E   DF21               MOV         R1,#+223
   \   00000240   0140               AND         R1,R0
   \   00000242   2170               STRB        R1,[R4, #+0]
    490          
    491          }
   \   00000244   F0BC               POP         {R4-R7}
   \   00000246   01BC               POP         {R0}
   \   00000248   0047               BX          R0                 ;; return
   \   0000024A   C046               NOP         
   \                     ??fw_isr_0:
   \   0000024C   ........           DC32        fw_deviceState
   \   00000250   ........           DC32        countLed
   \   00000254   30C2FCFF           DC32        0xfffcc230
   \   00000258   28C2FCFF           DC32        0xfffcc228
   \   0000025C   ........           DC32        fw_IsrCount
   \   00000260   3000FBFF           DC32        0xfffb0030
   \   00000264   1400FBFF           DC32        0xfffb0014
   \   00000268   0F2F0000           DC32        0x2f0f
   \   0000026C   2000FBFF           DC32        0xfffb0020
   \   00000270   1000FBFF           DC32        0xfffb0010
   \   00000274   010F0000           DC32        0xf01
   \   00000278   10C2FCFF           DC32        0xfffcc210
   \   0000027C   ........           DC32        USB_EVENT
   \   00000280   2800FBFF           DC32        0xfffb0028
   \   00000284   FFFF0000           DC32        0xffff
   \   00000288   3400FBFF           DC32        0xfffb0034
   \   0000028C   3800FBFF           DC32        0xfffb0038
   \   00000290   ........           DC32        fw_AskValidateAddress
   \   00000294   30FCFFFF           DC32        0xfffffc30
   \   00000298   2CFCFFFF           DC32        0xfffffc2c
   \   0000029C   68FCFFFF           DC32        0xfffffc68
   \   000002A0   072F0000           DC32        0x2f07
   \   000002A4   10FCFFFF           DC32        0xfffffc10
   \   000002A8   00FCFFFF           DC32        0xfffffc00
   \   000002AC   7400FBFF           DC32        0xfffb0074
   \   000002B0   FFFEFFFF           DC32        0xfffffeff
   \   000002B4   60FDFFFF           DC32        0xfffffd60
   \   000002B8   20FCFFFF           DC32        0xfffffc20
   \   000002BC   01060000           DC32        0x601
   \   000002C0   0E1C4810           DC32        0x10481c0e
   \   000002C4   14FCFFFF           DC32        0xfffffc14
   \   000002C8   04FCFFFF           DC32        0xfffffc04
   \   000002CC   ........           DC32        fw_fifoId + 16

   \                                 In segment CODE_I, align 4, keep-with-next
   \                     ??DataTable0:
   \   00000000   ........           DC32        USB_EVENT
    492          
    493          
    494          
    495          

   Maximum stack usage in bytes:

     Function CSTACK
     -------- ------
     fw_init      0
     fw_isr      20
     usb_task     8


   Segment part sizes:

     Function/Label Bytes
     -------------- -----
     fw_init          92
     usb_task         72
     fw_isr          720
     ??DataTable0      4
      Others         132

 
 100 bytes in segment CODE
 908 bytes in segment CODE_I
  12 bytes in segment INITTAB
 
 888 bytes of CODE memory (+ 132 bytes shared)

Errors: none
Warnings: 9

⌨️ 快捷键说明

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