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

📄 main.lst

📁 本程序为完成各种中断的演示
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     02/Nov/2005  11:00:19 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
#                       R4_30A-1_2\AT91SAM7X-Interrupt\src\main.c            #
#    Command line    =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
#                       R4_30A-1_2\AT91SAM7X-Interrupt\src\main.c -lC        #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
#                       R4_30A-1_2\AT91SAM7X-Interrupt\compil\FLASH_FLASH\Li #
#                       st\ -o E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Inter #
#                       rupt-IAR4_30A-1_2\AT91SAM7X-Interrupt\compil\FLASH_F #
#                       LASH\Obj\ -z9 --debug --cpu_mode thumb --endian      #
#                       little --cpu ARM7TDMI --stack_align 4 --interwork    #
#                       -e --fpu None --dlib_config "D:\Program Files\IAR    #
#                       Systems\Embedded Workbench 4.0                       #
#                       Kickstart\arm\LIB\dl4tptinl8n.h" -I                  #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
#                       R4_30A-1_2\AT91SAM7X-Interrupt\compil\srcIAR\ -I     #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
#                       R4_30A-1_2\AT91SAM7X-Interrupt\compil\..\src\ -I     #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
#                       R4_30A-1_2\AT91SAM7X-Interrupt\compil\..\..\ -I      #
#                       "D:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Kickstart\arm\INC\"                              #
#    List file       =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
#                       R4_30A-1_2\AT91SAM7X-Interrupt\compil\FLASH_FLASH\Li #
#                       st\main.lst                                          #
#    Object file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IA #
#                       R4_30A-1_2\AT91SAM7X-Interrupt\compil\FLASH_FLASH\Ob #
#                       j\main.r79                                           #
#                                                                            #
#                                                                            #
##############################################################################

E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IAR4_30A-1_2\AT91SAM7X-Interrupt\src\main.c
      1          // ----------------------------------------------------------------------------
      2          //         ATMEL Microcontroller Software Support  -  ROUSSET  -
      3          // ----------------------------------------------------------------------------
      4          // DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
      5          // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
      6          // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
      7          // DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
      8          // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
      9          // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
     10          // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     11          // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     12          // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     13          // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     14          // ----------------------------------------------------------------------------
     15          // File Name           : main.c
     16          // Object              : main application written in C
     17          // Creation            : JPP   08-Sep-2005
     18          // ----------------------------------------------------------------------------
     19          
     20          // Include Standard LIB  files
     21          #include "project.h"

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs unsigned int AT91F_AIC_ConfigureIt(AT91PS_AIC, unsigned int, unsigned int, unsigned int, void (*)())
   \                     AT91F_AIC_ConfigureIt:
   \   00000000   F4B4               PUSH        {R2,R4-R7}
   \   00000002   021C               MOV         R2,R0
   \   00000004   0C1C               MOV         R4,R1
   \   00000006   059E               LDR         R6,[SP, #+0x14]
   \   00000008   8900               LSL         R1,R1,#+0x2
   \   0000000A   4718               ADD         R7,R0,R1
   \   0000000C   8037               ADD         R7,#+0x80
   \   0000000E   3868               LDR         R0,[R7, #+0]
   \   00000010   0125               MOV         R5,#+0x1
   \   00000012   A540               LSL         R5,R4
   \   00000014   2C1C               MOV         R4,R5
   \   00000016   9225               MOV         R5,#+0x92
   \   00000018   6D00               LSL         R5,R5,#+0x1        ;; #+0x124
   \   0000001A   5519               ADD         R5,R2,R5
   \   0000001C   2C60               STR         R4,[R5, #+0]
   \   0000001E   3E60               STR         R6,[R7, #+0]
   \   00000020   009E               LDR         R6,[SP, #+0]
   \   00000022   1E43               ORR         R6,R3
   \   00000024   5650               STR         R6,[R2, R1]
   \   00000026   6C60               STR         R4,[R5, #+0x4]
   \   00000028   F8BC               POP         {R3-R7}
   \   0000002A   7047               BX          LR                 ;; return
     22          
     23          //*   Waiting time between AT91B_LED1 and AT91B_LED2
     24          #define     WAIT_TIME       AT91B_MCK
     25          
     26          #define PIO_INTERRUPT_LEVEL     6
     27          #define SOFT_INTERRUPT_LEVEL	2
     28          #define FIQ_INTERRUPT_LEVEL     7  // Always high
     29          
     30          //* Global variable

   \                                 In segment DATA_Z, align 4, align-sorted
     31          int count_timer0_interrupt;
   \                     count_timer0_interrupt:
   \   00000000                      DS8 4

   \                                 In segment DATA_Z, align 4, align-sorted
     32          int count_timer1_interrupt;
   \                     count_timer1_interrupt:
   \   00000000                      DS8 4
     33          
     34          // Use the Library Handler defined in file periph/pio/pio_irq/irq_pio.s
     35          
     36          extern void FIQ_init_handler(void);
     37          
     38          // External Function Prototype
     39          extern void timer_init (void );
     40          extern void Usart_init (void);
     41          extern void Usart_init1 (void);
     42          
     43          // function in dbgu.c
     44          extern void Init_DBGU(void);
     45          
     46          //*----------------------------------------------------------------------------
     47          //* Function Name       : aic_software_interrupt
     48          //* Object              : Software interrupt function
     49          //* Input Parameters    : none
     50          //* Output Parameters   : none
     51          //* Functions calAT91B_LED    : at91_pio_write
     52          //*----------------------------------------------------------------------------

   \                                 In segment CODE_I, align 4, keep-with-next
     53          __ramfunc void aic_software_interrupt(void)
     54          {
   \                     aic_software_interrupt:
   \   00000000   00B5               PUSH        {LR}
     55              //* Read the output state
     56              if ( (AT91F_PIO_GetInput(AT91C_BASE_PIOB) & AT91B_LED2 ) == AT91B_LED2 )
   \   00000002   0748               LDR         R0,??aic_software_interrupt_0  ;; 0xfffff63c
   \   00000004   0068               LDR         R0,[R0, #+0]
   \   00000006   8021               MOV         R1,#+0x80
   \   00000008   4903               LSL         R1,R1,#+0xD        ;; #+0x100000
   \   0000000A   0842               TST         R0,R1
   \   0000000C   01D0               BEQ         ??aic_software_interrupt_1
     57              {
     58                  AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, AT91B_LED2 );
   \   0000000E   0548               LDR         R0,??aic_software_interrupt_0+0x4  ;; 0xfffff634
   \   00000010   00E0               B           ??aic_software_interrupt_2
     59              }
     60              else
     61              {
     62                  AT91F_PIO_SetOutput( AT91C_BASE_PIOB, AT91B_LED2 );
   \                     ??aic_software_interrupt_1:
   \   00000012   0548               LDR         R0,??aic_software_interrupt_0+0x8  ;; 0xfffff630
   \                     ??aic_software_interrupt_2:
   \   00000014   0160               STR         R1,[R0, #+0]
     63              }
     64              AT91F_DBGU_Printk("-I- soft interrupt\n\r");
                                                                ^
Warning[Ta022]: Possible rom access (<Constant "-I- soft interrupt\n\r">) from
          within a __ramfunc function

      AT91F_DBGU_Printk("-I- soft interrupt\n\r");
      ^
"E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-Interrupt-IAR4_30A-1_2\AT91SAM7X-Interrupt\src\main.c",64  Warning[Ta023]: 
          Call to a non __ramfunc function (AT91F_DBGU_Printk) from within a
          __ramfunc function
   \   00000016   0548               LDR         R0,??aic_software_interrupt_0+0xC  ;; `?<Constant "-I- soft interrupt\\n\\r">`
   \   00000018   ........           _BLF        AT91F_DBGU_Printk,AT91F_DBGU_Printk??rT?CODE_I
     65          }
   \   0000001C   01BC               POP         {R0}
   \   0000001E   0047               BX          R0                 ;; return
   \                     ??aic_software_interrupt_0:
   \   00000020   3CF6FFFF           DC32        0xfffff63c
   \   00000024   34F6FFFF           DC32        0xfffff634
   \   00000028   30F6FFFF           DC32        0xfffff630
   \   0000002C   ........           DC32        `?<Constant "-I- soft interrupt\\n\\r">`
     66          
     67          //*----------------------------------------------------------------------------
     68          //* Function Name       : pio_c_irq_handler
     69          //* Object              : Irq Handler calAT91B_LED by the irq_pio.s
     70          //* Input Parameters    : none
     71          //* Output Parameters   : none
     72          //* Functions calAT91B_LED    : at91_pio_read, at91_pio_write

⌨️ 快捷键说明

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