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

📄 appli.lst

📁 AT91SAM7X256芯片底层驱动源码。在IAR430环境下编译
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     31/Oct/2005  17:17:35 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
#                       R4_30-1_2\AT91SAM7X256-BasicEmac\src\appli.c         #
#    Command line    =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
#                       R4_30-1_2\AT91SAM7X256-BasicEmac\src\appli.c -D ESS  #
#                       -lC E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMA #
#                       C_IAR4_30-1_2\AT91SAM7X256-BasicEmac\compil\bin\List #
#                       \ -o E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEM #
#                       AC_IAR4_30-1_2\AT91SAM7X256-BasicEmac\compil\bin\Obj #
#                       \ -z3 --no_cse --no_unroll --no_inline               #
#                       --no_code_motion --no_tbaa --no_clustering           #
#                       --no_scheduling --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-BasicEMAC_IA #
#                       R4_30-1_2\AT91SAM7X256-BasicEmac\compil\..\..\ -I    #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
#                       R4_30-1_2\AT91SAM7X256-BasicEmac\compil\srcIAR\ -I   #
#                       "D:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Kickstart\arm\INC\"                              #
#    List file       =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
#                       R4_30-1_2\AT91SAM7X256-BasicEmac\compil\bin\List\app #
#                       li.lst                                               #
#    Object file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
#                       R4_30-1_2\AT91SAM7X256-BasicEmac\compil\bin\Obj\appl #
#                       i.r79                                                #
#                                                                            #
#                                                                            #
##############################################################################

E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IAR4_30-1_2\AT91SAM7X256-BasicEmac\src\appli.c
      1          //*----------------------------------------------------------------------------
      2          //*         ATMEL Microcontroller Software Support  -  ROUSSET  -
      3          //*----------------------------------------------------------------------------
      4          //* The software is delivered "AS IS" without warranty or condition of any
      5          //* kind, either express, implied or statutory. This includes without
      6          //* limitation any warranty or condition with respect to merchantability or
      7          //* fitness for any particular purpose, or against the infringements of
      8          //* intellectual property rights of others.
      9          //*----------------------------------------------------------------------------
     10          //* File Name           : appli.c
     11          //* Object              : LED application written in C
     12          //* Creation            : JPP   16/Jun/2004
     13          //*----------------------------------------------------------------------------
     14          
     15          // Include Standard files
     16          #include "Board.h"

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_PIO_CfgOutput(AT91PS_PIO, unsigned int)
   \                     AT91F_PIO_CfgOutput:
   \   00000000   0160               STR         R1,[R0, #+0]
   \   00000002   0161               STR         R1,[R0, #+0x10]
   \   00000004   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_PIO_SetOutput(AT91PS_PIO, unsigned int)
   \                     AT91F_PIO_SetOutput:
   \   00000000   0163               STR         R1,[R0, #+0x30]
   \   00000002   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_PIO_ClearOutput(AT91PS_PIO, unsigned int)
   \                     AT91F_PIO_ClearOutput:
   \   00000000   4163               STR         R1,[R0, #+0x34]
   \   00000002   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs unsigned int AT91F_PIO_GetOutputDataStatus(AT91PS_PIO)
   \                     AT91F_PIO_GetOutputDataStatus:
   \   00000000   806B               LDR         R0,[R0, #+0x38]
   \   00000002   7047               BX          LR                 ;; return
     17          

   \                                 In segment DATA_C, align 4, align-sorted
     18          const int led_mask[8]= {LED1, LED2, LED3, LED4};
   \                     led_mask:
   \   00000000   000008000000       DC32 524288, 1048576, 2097152, 4194304
   \              100000002000
   \              00004000    
   \   00000010   000000000000       DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
   \              000000000000
   \              00000000    
     19          

   \                                 In segment DATA_Z, align 4, align-sorted
     20          volatile unsigned int LedSpeed;
   \                     LedSpeed:
   \   00000000                      DS8 4
     21          
     22          //*--------------------------------------------------------------------------------------
     23          //* Function Name       : wait
     24          //* Object              : Software waiting loop
     25          //* Input Parameters    : none. Waiting time is defined by the global variable LedSpeed.
     26          //* Output Parameters   : none
     27          //*--------------------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     28          void wait ( void )
     29          {//* Begin
   \                     wait:
   \   00000000   00B5               PUSH        {LR}
     30              unsigned int waiting_time ;
     31              for(waiting_time = 0; waiting_time < LedSpeed; waiting_time++) ;
   \   00000002   0020               MOV         R0,#+0
   \   00000004   00E0               B           ??wait_0
   \                     ??wait_1:
   \   00000006   401C               ADD         R0,#+0x1
   \                     ??wait_0:
   \   00000008   ....               LDR         R1,??DataTable3    ;; LedSpeed
   \   0000000A   0968               LDR         R1,[R1, #+0]
   \   0000000C   8842               CMP         R0,R1
   \   0000000E   FAD3               BCC         ??wait_1
     32          }//* End
   \   00000010   01BC               POP         {R0}
   \   00000012   0047               BX          R0                 ;; return
     33          

   \                                 In segment CODE, align 4, keep-with-next
     34          void Init_LED_FOR_APPLI (void)
     35          {
   \                     Init_LED_FOR_APPLI:
   \   00000000   00B5               PUSH        {LR}
     36              // then, we configure the PIO Lines corresponding to LED1 to LED4
     37              // to be outputs. No need to set these pins to be driven by the PIO because it is GPIO pins only.
     38                 AT91F_PIO_CfgOutput( AT91C_BASE_PIOB, LED_MASK ) ;
   \   00000002   F021               MOV         R1,#+0xF0
   \   00000004   C903               LSL         R1,R1,#+0xF        ;; #+0x780000
   \   00000006   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   00000008   ........           _BLF        AT91F_PIO_CfgOutput,AT91F_PIO_CfgOutput??rT
     39          
     40              // Clear the LED's. On the EB55 we must apply a "1" to turn off L EDs
     41                 AT91F_PIO_SetOutput( AT91C_BASE_PIOB, LED_MASK ) ;
   \   0000000C   F021               MOV         R1,#+0xF0
   \   0000000E   C903               LSL         R1,R1,#+0xF        ;; #+0x780000
   \   00000010   ....               LDR         R0,??DataTable12   ;; 0xfffff600
   \   00000012   ........           _BLF        AT91F_PIO_SetOutput,AT91F_PIO_SetOutput??rT
     42                 
     43              LedSpeed = 200000;
   \   00000016   ....               LDR         R0,??DataTable3    ;; LedSpeed
   \   00000018   0149               LDR         R1,??Init_LED_FOR_APPLI_0  ;; 0x30d40
   \   0000001A   0160               STR         R1,[R0, #+0]
     44          }    
   \   0000001C   01BC               POP         {R0}
   \   0000001E   0047               BX          R0                 ;; return
   \                     ??Init_LED_FOR_APPLI_0:
   \   00000020   400D0300           DC32        0x30d40
     45          
     46              

   \                                 In segment CODE, align 4, keep-with-next
     47          void APPLI (void)
     48          {
   \                     APPLI:
   \   00000000   10B5               PUSH        {R4,LR}
     49          int i;
     50              // Once a Shot on each led
     51              for ( i=0 ; i < NB_LEB ; i++ )
   \   00000002   0024               MOV         R4,#+0
   \   00000004   12E0               B           ??APPLI_0
     52              {
     53                  AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, led_mask[i]) ;
   \                     ??APPLI_1:
   \   00000006   0420               MOV         R0,#+0x4

⌨️ 快捷键说明

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