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

📄 main.lst

📁 针对arm开发板开发的can总线应用程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     13/Jul/2006  18:13:54 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  C:\Documents and Settings\yc\桌面\AT91SAM7A3(CAN_CAN #
#                       )(RX_continue)\BasicCAN-SAM7A3\src\main.c            #
#    Command line    =  "C:\Documents and Settings\yc\桌面\AT91SAM7A3(CAN_CA #
#                       N)(RX_continue)\BasicCAN-SAM7A3\src\main.c" -lC      #
#                       "C:\Documents and Settings\yc\桌面\AT91SAM7A3(CAN_CA #
#                       N)(RX_continue)\BasicCAN-SAM7A3\compil\Binary\List\" #
#                        -o "C:\Documents and Settings\yc\桌面\AT91SAM7A3(CA #
#                       N_CAN)(RX_continue)\BasicCAN-SAM7A3\compil\Binary\Ob #
#                       j\" -z9 --debug --cpu_mode thumb --endian little     #
#                       --cpu ARM7TDMI --stack_align 4 --interwork -e --fpu  #
#                       None --dlib_config "D:\IAR Systems\Embedded          #
#                       Workbench 4.0 Kickstart\arm\LIB\dl4tptinl8f.h" -I    #
#                       "C:\Documents and Settings\yc\桌面\AT91SAM7A3(CAN_CA #
#                       N)(RX_continue)\BasicCAN-SAM7A3\compil\srcIAR\" -I   #
#                       "C:\Documents and Settings\yc\桌面\AT91SAM7A3(CAN_CA #
#                       N)(RX_continue)\BasicCAN-SAM7A3\compil\..\src\" -I   #
#                       "C:\Documents and Settings\yc\桌面\AT91SAM7A3(CAN_CA #
#                       N)(RX_continue)\BasicCAN-SAM7A3\compil\..\..\" -I    #
#                       "D:\IAR Systems\Embedded Workbench 4.0               #
#                       Kickstart\arm\INC\"                                  #
#    List file       =  C:\Documents and Settings\yc\桌面\AT91SAM7A3(CAN_CAN #
#                       )(RX_continue)\BasicCAN-SAM7A3\compil\Binary\List\ma #
#                       in.lst                                               #
#    Object file     =  C:\Documents and Settings\yc\桌面\AT91SAM7A3(CAN_CAN #
#                       )(RX_continue)\BasicCAN-SAM7A3\compil\Binary\Obj\mai #
#                       n.r79                                                #
#                                                                            #
#                                                                            #
##############################################################################

C:\Documents and Settings\yc\桌面\AT91SAM7A3(CAN_CAN)(RX_continue)\BasicCAN-SAM7A3\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            : FBr   02-Sep-2005
     18          // ----------------------------------------------------------------------------
     19          
     20          #include "main.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

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_PDC_Open(AT91PS_PDC)
   \                     AT91F_PDC_Open:
   \   00000000   0221               MOV         R1,#+0x2
   \   00000002   0162               STR         R1,[R0, #+0x20]
   \   00000004   0902               LSL         R1,R1,#+0x8
   \   00000006   0162               STR         R1,[R0, #+0x20]
   \   00000008   0021               MOV         R1,#+0
   \   0000000A   8161               STR         R1,[R0, #+0x18]
   \   0000000C   C161               STR         R1,[R0, #+0x1C]
   \   0000000E   0161               STR         R1,[R0, #+0x10]
   \   00000010   4161               STR         R1,[R0, #+0x14]
   \   00000012   8160               STR         R1,[R0, #+0x8]
   \   00000014   C160               STR         R1,[R0, #+0xC]
   \   00000016   0160               STR         R1,[R0, #+0]
   \   00000018   4160               STR         R1,[R0, #+0x4]
   \   0000001A   0121               MOV         R1,#+0x1
   \   0000001C   0162               STR         R1,[R0, #+0x20]
   \   0000001E   0902               LSL         R1,R1,#+0x8
   \   00000020   0162               STR         R1,[R0, #+0x20]
   \   00000022   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_CAN1_CfgPIO(void)
   \                     AT91F_CAN1_CfgPIO:
   \   00000000   C020               MOV         R0,#+0xC0
   \   00000002   8005               LSL         R0,R0,#+0x16       ;; #+0x30000000
   \   00000004   0749               LDR         R1,??AT91F_CAN1_CfgPIO_0  ;; 0xfffff470
   \   00000006   0860               STR         R0,[R1, #+0]
   \   00000008   0021               MOV         R1,#+0
   \   0000000A   074A               LDR         R2,??AT91F_CAN1_CfgPIO_0+0x4  ;; 0xfffff474
   \   0000000C   1160               STR         R1,[R2, #+0]
   \   0000000E   074A               LDR         R2,??AT91F_CAN1_CfgPIO_0+0x8  ;; 0xfffff404
   \   00000010   1060               STR         R0,[R2, #+0]
   \   00000012   0748               LDR         R0,??AT91F_CAN1_CfgPIO_0+0xC  ;; 0xfffff670
   \   00000014   0160               STR         R1,[R0, #+0]
   \   00000016   8020               MOV         R0,#+0x80
   \   00000018   0649               LDR         R1,??AT91F_CAN1_CfgPIO_0+0x10  ;; 0xfffff674
   \   0000001A   0860               STR         R0,[R1, #+0]
   \   0000001C   0649               LDR         R1,??AT91F_CAN1_CfgPIO_0+0x14  ;; 0xfffff604
   \   0000001E   0860               STR         R0,[R1, #+0]
   \   00000020   7047               BX          LR                 ;; return
   \   00000022   C046               NOP         
   \                     ??AT91F_CAN1_CfgPIO_0:
   \   00000024   70F4FFFF           DC32        0xfffff470
   \   00000028   74F4FFFF           DC32        0xfffff474
   \   0000002C   04F4FFFF           DC32        0xfffff404
   \   00000030   70F6FFFF           DC32        0xfffff670
   \   00000034   74F6FFFF           DC32        0xfffff674
   \   00000038   04F6FFFF           DC32        0xfffff604
     21          /* Global variables */

   \                                 In segment DATA_Z, align 1, align-sorted
     22          volatile char       testCAN0 = AT91C_TEST_NOK;
   \                     testCAN0:
   \   00000000                      DS8 1

   \                                 In segment DATA_Z, align 1, align-sorted
     23          volatile char       testCAN1 = AT91C_TEST_NOK;
   \                     testCAN1:
   \   00000000                      DS8 1
     24          extern  void CanSendData(unsigned int LData,unsigned HData) ;
     25          
     26          //*----------------------------------------------------------------------------
     27          //* \fn    AT91F_CAN0_Handler
     28          //* \brief
     29          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     30          void AT91F_CAN0_Handler(void)
     31          {
   \                     AT91F_CAN0_Handler:
   \   00000000   71B5               PUSH        {R0,R4-R6,LR}
     32            volatile unsigned int status;
     33          		
     34            status = AT91F_CAN_GetStatus(AT91C_BASE_CAN0) & AT91F_CAN_GetInterruptMaskStatus(AT91C_BASE_CAN0);
   \   00000002   0E48               LDR         R0,??AT91F_CAN0_Handler_0  ;; 0xfff80010
   \   00000004   0068               LDR         R0,[R0, #+0]
   \   00000006   0E49               LDR         R1,??AT91F_CAN0_Handler_0+0x4  ;; 0xfff8000c
   \   00000008   0968               LDR         R1,[R1, #+0]
   \   0000000A   0140               AND         R1,R0
   \   0000000C   0091               STR         R1,[SP, #+0]
     35            AT91F_CAN_DisableIt(AT91C_BASE_CAN0,status);
   \   0000000E   0098               LDR         R0,[SP, #+0]
   \   00000010   0C49               LDR         R1,??AT91F_CAN0_Handler_0+0x8  ;; 0xfff80008
   \   00000012   0860               STR         R0,[R1, #+0]
     36            int RxData=AT91F_CAN_GetMessageDataLow(&AT91C_BASE_CAN0->CAN_MB0) ;
   \   00000014   0C48               LDR         R0,??AT91F_CAN0_Handler_0+0xC  ;; 0xfff80214
   \   00000016   0468               LDR         R4,[R0, #+0]
     37            TRACE_INFO("______Interrupt now is received some data____________") ;
   \   00000018   ....               LDR         R5,??DataTable6    ;; _Stdout
   \   0000001A   ....               LDR         R6,??DataTable3    ;; `?<Constant "%d">`
   \   0000001C   311D               ADD         R1,R6,#+0x4
   \   0000001E   281C               MOV         R0,R5
   \   00000020   ........           _BLF        fprintf,fprintf??rT
     38            TRACE_INFO("%d",RxData);
   \   00000024   221C               MOV         R2,R4
   \   00000026   311C               MOV         R1,R6
   \   00000028   281C               MOV         R0,R5
   \   0000002A   ........           _BLF        fprintf,fprintf??rT
     39            if(status & AT91C_CAN_WAKEUP) {
   \   0000002E   0098               LDR         R0,[SP, #+0]
   \   00000030   8002               LSL         R0,R0,#+0xA
   \   00000032   02D5               BPL         ??AT91F_CAN0_Handler_1
     40              testCAN0 = AT91C_TEST_OK;
   \   00000034   0548               LDR         R0,??AT91F_CAN0_Handler_0+0x10  ;; testCAN0
   \   00000036   0121               MOV         R1,#+0x1
   \   00000038   0170               STRB        R1,[R0, #+0]
     41              TRACE_DEBUG_H("=> CAN0 WAKEUP ");
     42            }
     43          
     44          }
   \                     ??AT91F_CAN0_Handler_1:
   \   0000003A   ....               B           ?Subroutine3
   \                     ??AT91F_CAN0_Handler_0:
   \   0000003C   1000F8FF           DC32        0xfff80010
   \   00000040   0C00F8FF           DC32        0xfff8000c
   \   00000044   0800F8FF           DC32        0xfff80008
   \   00000048   1402F8FF           DC32        0xfff80214
   \   0000004C   ........           DC32        testCAN0

   \                                 In segment CODE, align 4, keep-with-next
   \                     ?Subroutine3:
   \   00000000   78BC               POP         {R3-R6}
   \   00000002   01BC               POP         {R0}
   \   00000004   0047               BX          R0                 ;; return
   \   00000006   C046               NOP         
   \                     ??Subroutine3_0:
   \   00000008   1040F8FF           DC32        0xfff84010
   \   0000000C   0C40F8FF           DC32        0xfff8400c
   \   00000010   0840F8FF           DC32        0xfff84008
   \   00000014   1442F8FF           DC32        0xfff84214
   \   00000018   1842F8FF           DC32        0xfff84218
   \   0000001C   1C42F8FF           DC32        0xfff8421c
   \   00000020   ........           DC32        testCAN1
     45          
     46          //*----------------------------------------------------------------------------
     47          //* \fn    AT91F_CAN1_Handler
     48          //* \brief
     49          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next

⌨️ 快捷键说明

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