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

📄 can.lst

📁 一个AT91SAM7X256 CAN通讯实验
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 EVALUATION    24/Nov/2006  16:52:05 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  G:\光盘刻录\光盘刻录\IAR实验代码\实验五\AT91SAM7X256 #
#                        CAN通讯实验\BasicCAN-SAM7X\src\can.c                #
#    Command line    =  "G:\光盘刻录\光盘刻录\IAR实验代码\实验五\AT91SAM7X25 #
#                       6 CAN通讯实验\BasicCAN-SAM7X\src\can.c" -lC          #
#                       "G:\光盘刻录\光盘刻录\IAR实验代码\实验五\AT91SAM7X25 #
#                       6 CAN通讯实验\BasicCAN-SAM7X\compil\RAM_Debug\List\" #
#                        --remarks -o "G:\光盘刻录\光盘刻录\IAR实验代码\实验 #
#                       五\AT91SAM7X256 CAN通讯实验\BasicCAN-SAM7X\compil\RA #
#                       M_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 "F:\Program Files\IAR    #
#                       Systems\Embedded Workbench 4.0                       #
#                       Evaluation\arm\LIB\dl4tptinl8f.h" -I                 #
#                       "G:\光盘刻录\光盘刻录\IAR实验代码\实验五\AT91SAM7X25 #
#                       6 CAN通讯实验\BasicCAN-SAM7X\compil\srcIAR\" -I      #
#                       "G:\光盘刻录\光盘刻录\IAR实验代码\实验五\AT91SAM7X25 #
#                       6 CAN通讯实验\BasicCAN-SAM7X\compil\..\src\" -I      #
#                       "G:\光盘刻录\光盘刻录\IAR实验代码\实验五\AT91SAM7X25 #
#                       6 CAN通讯实验\BasicCAN-SAM7X\compil\..\..\" -I       #
#                       "F:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Evaluation\arm\INC\"                             #
#    List file       =  G:\光盘刻录\光盘刻录\IAR实验代码\实验五\AT91SAM7X256 #
#                        CAN通讯实验\BasicCAN-SAM7X\compil\RAM_Debug\List\ca #
#                       n.lst                                                #
#    Object file     =  G:\光盘刻录\光盘刻录\IAR实验代码\实验五\AT91SAM7X256 #
#                        CAN通讯实验\BasicCAN-SAM7X\compil\RAM_Debug\Obj\can #
#                       .r79                                                 #
#                                                                            #
#                                                                            #
##############################################################################

G:\光盘刻录\光盘刻录\IAR实验代码\实验五\AT91SAM7X256 CAN通讯实验\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:

⌨️ 快捷键说明

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