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

📄 can.lst

📁 IAR开发环境下AT91SAM7X256的CAN功能验证与使用指导
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     20/May/2006  12:45:36 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  F:\新建文件夹\Software\IAR4.30A\SAM7X256-CAN-IAR\AT9 #
#                       1SAM7X256-CAN-IAR\BasicCAN-SAM7X\src\can.c           #
#    Command line    =  F:\新建文件夹\Software\IAR4.30A\SAM7X256-CAN-IAR\AT9 #
#                       1SAM7X256-CAN-IAR\BasicCAN-SAM7X\src\can.c -lC       #
#                       F:\新建文件夹\Software\IAR4.30A\SAM7X256-CAN-IAR\AT9 #
#                       1SAM7X256-CAN-IAR\BasicCAN-SAM7X\compil\RAM_Debug\Li #
#                       st\ --remarks -o F:\新建文件夹\Software\IAR4.30A\SAM #
#                       7X256-CAN-IAR\AT91SAM7X256-CAN-IAR\BasicCAN-SAM7X\co #
#                       mpil\RAM_Debug\Obj\ -z2 --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:\_Dsetup\ARM\IAR32K\arm\LIB\dl4tptinl8f.h -I       #
#                       F:\新建文件夹\Software\IAR4.30A\SAM7X256-CAN-IAR\AT9 #
#                       1SAM7X256-CAN-IAR\BasicCAN-SAM7X\compil\srcIAR\ -I   #
#                       F:\新建文件夹\Software\IAR4.30A\SAM7X256-CAN-IAR\AT9 #
#                       1SAM7X256-CAN-IAR\BasicCAN-SAM7X\compil\..\src\ -I   #
#                       F:\新建文件夹\Software\IAR4.30A\SAM7X256-CAN-IAR\AT9 #
#                       1SAM7X256-CAN-IAR\BasicCAN-SAM7X\compil\..\..\ -I    #
#                       D:\_Dsetup\ARM\IAR32K\arm\INC\                       #
#    List file       =  F:\新建文件夹\Software\IAR4.30A\SAM7X256-CAN-IAR\AT9 #
#                       1SAM7X256-CAN-IAR\BasicCAN-SAM7X\compil\RAM_Debug\Li #
#                       st\can.lst                                           #
#    Object file     =  F:\新建文件夹\Software\IAR4.30A\SAM7X256-CAN-IAR\AT9 #
#                       1SAM7X256-CAN-IAR\BasicCAN-SAM7X\compil\RAM_Debug\Ob #
#                       j\can.r79                                            #
#                                                                            #
#                                                                            #
##############################################################################

F:\新建文件夹\Software\IAR4.30A\SAM7X256-CAN-IAR\AT91SAM7X256-CAN-IAR\BasicCAN-SAM7X\src\can.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           : can.c
     16          // - ----------------------------------------------------------------------------
     17          
     18          #include "main.h"

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_InitMailboxRegisters(AT91PS_CAN_MB, int, int, int, int, int, int)
   \                     AT91F_InitMailboxRegisters:
   \   00000000   F0B4               PUSH        {R4-R7}
   \   00000002   049C               LDR         R4,[SP, #+0x10]
   \   00000004   059D               LDR         R5,[SP, #+0x14]
   \   00000006   069E               LDR         R6,[SP, #+0x18]
   \   00000008   0027               MOV         R7,#+0
   \   0000000A   C761               STR         R7,[R0, #+0x1C]
   \   0000000C   0160               STR         R1,[R0, #+0]
   \   0000000E   4260               STR         R2,[R0, #+0x4]
   \   00000010   8360               STR         R3,[R0, #+0x8]
   \   00000012   4461               STR         R4,[R0, #+0x14]
   \   00000014   8561               STR         R5,[R0, #+0x18]
   \   00000016   C661               STR         R6,[R0, #+0x1C]
   \   00000018   F0BC               POP         {R4-R7}
   \   0000001A   7047               BX          LR                 ;; return

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

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

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_CAN_InitTransferRequest(AT91PS_CAN, unsigned int)
   \                     AT91F_CAN_InitTransferRequest:
   \   00000000   4162               STR         R1,[R0, #+0x24]
   \   00000002   7047               BX          LR                 ;; return
     19          
     20          //*----------------------------------------------------------------------------
     21          //* \fn    AT91F_InitMailbox
     22          //* \brief Configure the Mailboxes
     23          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     24          void AT91F_InitMailbox(void)
     25          {
   \                     AT91F_InitMailbox:
   \   00000000   00B5               PUSH        {LR}
     26            // Init CAN Mailbox 0
     27            AT91F_InitMailboxRegisters(AT91C_BASE_CAN_MB0,
     28                                       AT91C_CAN_MOT_TX | AT91C_CAN_PRIOR,                    // Mailbox Mode Reg
     29                                       0x00000000,                                            // Mailbox Acceptance Mask Reg
     30                                       AT91C_CAN_MIDvA & (0x07<<18),	                        // Mailbox ID Reg
     31                                       0x11223344,                                            // Mailbox Data Low Reg
     32                                       0x01234567,                                            // Mailbox Data High Reg
     33                                       (AT91C_CAN_MDLC & (0x8<<16)) );                        // Mailbox Control Reg
   \   00000002   8022               MOV         R2,#+0x80
   \   00000004   1203               LSL         R2,R2,#+0xC        ;; #+0x80000
   \   00000006   0C49               LDR         R1,??AT91F_InitMailbox_0  ;; 0x1234567
   \   00000008   0C48               LDR         R0,??AT91F_InitMailbox_0+0x4  ;; 0x11223344
   \   0000000A   07B4               PUSH        {R0-R2}
   \   0000000C   E023               MOV         R3,#+0xE0
   \   0000000E   5B03               LSL         R3,R3,#+0xD        ;; #+0x1C0000
   \   00000010   0022               MOV         R2,#+0
   \   00000012   0B49               LDR         R1,??AT91F_InitMailbox_0+0x8  ;; 0x30f0000
   \   00000014   0B48               LDR         R0,??AT91F_InitMailbox_0+0xC  ;; 0xfffd0200
   \   00000016   ........           _BLF        AT91F_InitMailboxRegisters,AT91F_InitMailboxRegisters??rT
   \   0000001A   03B0               ADD         SP,#+0xC
     34          
     35            // Init CANMailbox 1
     36            AT91F_InitMailboxRegisters(AT91C_BASE_CAN_MB1,
     37                                       AT91C_CAN_MOT_RX | AT91C_CAN_PRIOR,                    // Mailbox Mode Reg
     38                                       AT91C_CAN_MIDvA | AT91C_CAN_MIDvB | AT91C_CAN_MIDE,    // Mailbox Acceptance Mask Reg
     39                                       AT91C_CAN_MIDvA & (0x07<<18),	                        // Mailbox ID Reg
     40                                       0x00000000,                                            // Mailbox Data Low Reg
     41                                       0x00000000,                                            // Mailbox Data High Reg
     42                                       0x00000000);                                           // Mailbox Control Reg
   \   0000001C   0022               MOV         R2,#+0
   \   0000001E   0021               MOV         R1,#+0
   \   00000020   0020               MOV         R0,#+0
   \   00000022   07B4               PUSH        {R0-R2}
   \   00000024   E023               MOV         R3,#+0xE0
   \   00000026   5B03               LSL         R3,R3,#+0xD        ;; #+0x1C0000
   \   00000028   074A               LDR         R2,??AT91F_InitMailbox_0+0x10  ;; 0x3fffffff
   \   0000002A   0849               LDR         R1,??AT91F_InitMailbox_0+0x14  ;; 0x10f0000
   \   0000002C   0848               LDR         R0,??AT91F_InitMailbox_0+0x18  ;; 0xfffd0220
   \   0000002E   ........           _BLF        AT91F_InitMailboxRegisters,AT91F_InitMailboxRegisters??rT
   \   00000032   03B0               ADD         SP,#+0xC
     43          }
   \   00000034   01BC               POP         {R0}
   \   00000036   0047               BX          R0                 ;; return
   \                     ??AT91F_InitMailbox_0:
   \   00000038   67452301           DC32        0x1234567
   \   0000003C   44332211           DC32        0x11223344
   \   00000040   00000F03           DC32        0x30f0000
   \   00000044   0002FDFF           DC32        0xfffd0200
   \   00000048   FFFFFF3F           DC32        0x3fffffff
   \   0000004C   00000F01           DC32        0x10f0000
   \   00000050   2002FDFF           DC32        0xfffd0220
     44          
     45          //*----------------------------------------------------------------------------
     46          //* \fn    AT91F_BasicTestSuite
     47          //* \brief
     48          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     49          void AT91F_BasicTestSuite(void)
     50          {
   \                     AT91F_BasicTestSuite:
   \   00000000   10B5               PUSH        {R4,LR}
     51            unsigned int tick=0;
   \   00000002   0020               MOV         R0,#+0
   \   00000004   041C               MOV         R4,R0
     52          
     53            ///////////////////////////////////////////////////////////////////////////////////////////
     54            TRACE_INFO("\n\r--------------------------------------------------\n\r");
   \   00000006   4548               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000008   0028               CMP         R0,#+0
   \   0000000A   03D0               BEQ         ??AT91F_BasicTestSuite_1
   \   0000000C   4449               LDR         R1,??AT91F_BasicTestSuite_0+0x4  ;; `?<Constant "\\n\\r-------------------...">`
   \   0000000E   4348               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000010   ........           _BLF        fprintf,fprintf??rT
     55            TRACE_INFO("1. Wait for CAN Controller Bus Synchronization...\n\r");
   \                     ??AT91F_BasicTestSuite_1:
   \   00000014   4148               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000016   0028               CMP         R0,#+0
   \   00000018   03D0               BEQ         ??AT91F_BasicTestSuite_2
   \   0000001A   4249               LDR         R1,??AT91F_BasicTestSuite_0+0x8  ;; `?<Constant "1. Wait for CAN Contr...">`
   \   0000001C   3F48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   0000001E   ........           _BLF        fprintf,fprintf??rT
     56            TRACE_INFO("--------------------------------------------------");
   \                     ??AT91F_BasicTestSuite_2:
   \   00000022   3E48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000024   0028               CMP         R0,#+0

⌨️ 快捷键说明

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