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

📄 can.lst

📁 针对arm开发板开发的can总线应用程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
     77                                         0x00000000,
     78                                         0x00000000);
   \   000000AC   314B               LDR         R3,??AT91F_InitMailbox_0+0x84  ;; 0xfff8027c
   \   000000AE   1860               STR         R0,[R3, #+0]
   \   000000B0   314C               LDR         R4,??AT91F_InitMailbox_0+0x88  ;; 0xfff80260
   \   000000B2   324D               LDR         R5,??AT91F_InitMailbox_0+0x8C  ;; 0x40f0000
   \   000000B4   2560               STR         R5,[R4, #+0]
   \   000000B6   324C               LDR         R4,??AT91F_InitMailbox_0+0x90  ;; 0xfff80264
   \   000000B8   2260               STR         R2,[R4, #+0]
   \   000000BA   B022               MOV         R2,#+0xB0
   \   000000BC   9203               LSL         R2,R2,#+0xE        ;; #+0x2C0000
   \   000000BE   314C               LDR         R4,??AT91F_InitMailbox_0+0x94  ;; 0xfff80268
   \   000000C0   2260               STR         R2,[R4, #+0]
   \   000000C2   ....               LDR         R4,??DataTable8    ;; 0xfff80274
   \   000000C4   2060               STR         R0,[R4, #+0]
   \   000000C6   ....               LDR         R4,??DataTable9    ;; 0xfff80278
   \   000000C8   2060               STR         R0,[R4, #+0]
   \   000000CA   1860               STR         R0,[R3, #+0]
     79          
     80              // Init CAN1 Mailbox 3
     81              AT91F_InitMailboxRegisters( AT91C_BASE_CAN1_MB3,
     82                                         AT91C_CAN_MOT_PRODUCER | AT91C_CAN_PRIOR,
     83                                         0x00000000,
     84                                         AT91C_CAN_MIDvA & (0x0B<<18),	// ID 11
     85                                         0xBEBED0D0,
     86                                         0xC0C06969,
     87                                         (AT91C_CAN_MDLC & (0x8<<16)) );
   \   000000CC   2E4B               LDR         R3,??AT91F_InitMailbox_0+0x98  ;; 0xfff8427c
   \   000000CE   1860               STR         R0,[R3, #+0]
   \   000000D0   2E4C               LDR         R4,??AT91F_InitMailbox_0+0x9C  ;; 0xfff84260
   \   000000D2   2F4D               LDR         R5,??AT91F_InitMailbox_0+0xA0  ;; 0x50f0000
   \   000000D4   2560               STR         R5,[R4, #+0]
   \   000000D6   2F4C               LDR         R4,??AT91F_InitMailbox_0+0xA4  ;; 0xfff84264
   \   000000D8   2060               STR         R0,[R4, #+0]
   \   000000DA   2F48               LDR         R0,??AT91F_InitMailbox_0+0xA8  ;; 0xfff84268
   \   000000DC   0260               STR         R2,[R0, #+0]
   \   000000DE   ....               LDR         R0,??DataTable10   ;; 0xfff84274
   \   000000E0   2E4A               LDR         R2,??AT91F_InitMailbox_0+0xAC  ;; 0xbebed0d0
   \   000000E2   0260               STR         R2,[R0, #+0]
   \   000000E4   ....               LDR         R0,??DataTable11   ;; 0xfff84278
   \   000000E6   2E4A               LDR         R2,??AT91F_InitMailbox_0+0xB0  ;; 0xc0c06969
   \   000000E8   0260               STR         R2,[R0, #+0]
   \   000000EA   1960               STR         R1,[R3, #+0]
     88          }
   \   000000EC   70BC               POP         {R4-R6}
   \   000000EE   7047               BX          LR                 ;; return
   \                     ??AT91F_InitMailbox_0:
   \   000000F0   1C02F8FF           DC32        0xfff8021c
   \   000000F4   00000F03           DC32        0x30f0000
   \   000000F8   0002F8FF           DC32        0xfff80200
   \   000000FC   0402F8FF           DC32        0xfff80204
   \   00000100   0802F8FF           DC32        0xfff80208
   \   00000104   89674523           DC32        0x23456789
   \   00000108   32547698           DC32        0x98765432
   \   0000010C   1C42F8FF           DC32        0xfff8421c
   \   00000110   0042F8FF           DC32        0xfff84200
   \   00000114   00000F01           DC32        0x10f0000
   \   00000118   FFFFFF3F           DC32        0x3fffffff
   \   0000011C   0442F8FF           DC32        0xfff84204
   \   00000120   0842F8FF           DC32        0xfff84208
   \   00000124   3C02F8FF           DC32        0xfff8023c
   \   00000128   2002F8FF           DC32        0xfff80220
   \   0000012C   2402F8FF           DC32        0xfff80224
   \   00000130   2802F8FF           DC32        0xfff80228
   \   00000134   DDCCBBAA           DC32        0xaabbccdd
   \   00000138   CADEFECA           DC32        0xcafedeca
   \   0000013C   5C02F8FF           DC32        0xfff8025c
   \   00000140   4002F8FF           DC32        0xfff80240
   \   00000144   FFFF0E03           DC32        0x30effff
   \   00000148   4402F8FF           DC32        0xfff80244
   \   0000014C   4802F8FF           DC32        0xfff80248
   \   00000150   5402F8FF           DC32        0xfff80254
   \   00000154   88776655           DC32        0x55667788
   \   00000158   5802F8FF           DC32        0xfff80258
   \   0000015C   CCBBAA99           DC32        0x99aabbcc
   \   00000160   FC43F8FF           DC32        0xfff843fc
   \   00000164   E043F8FF           DC32        0xfff843e0
   \   00000168   00000F02           DC32        0x20f0000
   \   0000016C   E443F8FF           DC32        0xfff843e4
   \   00000170   E843F8FF           DC32        0xfff843e8
   \   00000174   7C02F8FF           DC32        0xfff8027c
   \   00000178   6002F8FF           DC32        0xfff80260
   \   0000017C   00000F04           DC32        0x40f0000
   \   00000180   6402F8FF           DC32        0xfff80264
   \   00000184   6802F8FF           DC32        0xfff80268
   \   00000188   7C42F8FF           DC32        0xfff8427c
   \   0000018C   6042F8FF           DC32        0xfff84260
   \   00000190   00000F05           DC32        0x50f0000
   \   00000194   6442F8FF           DC32        0xfff84264
   \   00000198   6842F8FF           DC32        0xfff84268
   \   0000019C   D0D0BEBE           DC32        0xbebed0d0
   \   000001A0   6969C0C0           DC32        0xc0c06969
     89          
     90          //*----------------------------------------------------------------------------
     91          //* \fn    AT91F_BasicTestSuite
     92          //* \brief
     93          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     94          void AT91F_BasicTestSuite(void)
     95          {
   \                     AT91F_BasicTestSuite:
   \   00000000   F3B5               PUSH        {R0,R1,R4-R7,LR}
   \   00000002   0027               MOV         R7,#+0
     96            unsigned int status;
     97            unsigned int tick=0;
     98          
     99            ///////////////////////////////////////////////////////////////////////////////////////////
    100            TRACE_INFO("\n\r--------------------------------------------------\n\r");
   \   00000004   ....               LDR         R4,??DataTable12   ;; _Stdout
   \   00000006   ....               LDR         R5,??DataTable13   ;; `?<Constant "\\n\\r-------------------...">`
   \   00000008   291C               MOV         R1,R5
   \   0000000A   201C               MOV         R0,R4
   \   0000000C   ........           _BLF        fprintf,fprintf??rT
    101            TRACE_INFO("1. Wait for CAN Controllers Bus Synchronization...\n\r");
   \   00000010   291C               MOV         R1,R5
   \   00000012   3831               ADD         R1,#+0x38
   \   00000014   201C               MOV         R0,R4
   \   00000016   ........           _BLF        fprintf,fprintf??rT
    102            TRACE_INFO("--------------------------------------------------\n\r");
   \   0000001A   291C               MOV         R1,R5
   \   0000001C   7031               ADD         R1,#+0x70
   \   0000001E   201C               MOV         R0,R4
   \   00000020   ........           _BLF        fprintf,fprintf??rT
    103          
    104            // Enable CAN and Wait for WakeUp Interrupt
    105            AT91F_CAN_EnableIt(AT91C_BASE_CAN0,AT91C_CAN_WAKEUP);
   \   00000024   8020               MOV         R0,#+0x80
   \   00000026   8003               LSL         R0,R0,#+0xE        ;; #+0x200000
   \   00000028   9049               LDR         R1,??AT91F_BasicTestSuite_0  ;; 0xfff80004
   \   0000002A   0860               STR         R0,[R1, #+0]
    106            AT91F_CAN_EnableIt(AT91C_BASE_CAN1,AT91C_CAN_WAKEUP);
   \   0000002C   ....               LDR         R1,??DataTable31   ;; 0xfff84004
   \   0000002E   0860               STR         R0,[R1, #+0]
   \   00000030   8F48               LDR         R0,??AT91F_BasicTestSuite_0+0x4  ;; 0xfff80000
   \   00000032   0121               MOV         R1,#+0x1
   \   00000034   0160               STR         R1,[R0, #+0]
    107            AT91F_CAN_CfgModeReg(AT91C_BASE_CAN0,AT91C_CAN_CANEN);
    108            AT91F_CAN_CfgModeReg(AT91C_BASE_CAN1,AT91C_CAN_CANEN);
   \   00000036   8F48               LDR         R0,??AT91F_BasicTestSuite_0+0x8  ;; 0xfff84000
   \   00000038   0160               STR         R1,[R0, #+0]
   \   0000003A   ....               LDR         R6,??DataTable38   ;; 0x186a0
   \   0000003C   8E48               LDR         R0,??AT91F_BasicTestSuite_0+0xC  ;; testCAN0
   \   0000003E   8F49               LDR         R1,??AT91F_BasicTestSuite_0+0x10  ;; testCAN1
   \   00000040   00E0               B           ??AT91F_BasicTestSuite_1
    109          
    110            // Wait for WAKEUP flag raising <=> 11-recessive-bit were scanned by the transceiver
    111            while( ((testCAN0!=AT91C_TEST_OK) || (testCAN1!=AT91C_TEST_OK)) && (tick<AT91C_CAN_TIMEOUT) ) {
    112              tick++;
   \                     ??AT91F_BasicTestSuite_2:
   \   00000042   7F1C               ADD         R7,R7,#+0x1
    113            }
   \                     ??AT91F_BasicTestSuite_1:
   \   00000044   0278               LDRB        R2,[R0, #+0]
   \   00000046   012A               CMP         R2,#+0x1
   \   00000048   02D1               BNE         ??AT91F_BasicTestSuite_3
   \   0000004A   0A78               LDRB        R2,[R1, #+0]
   \   0000004C   012A               CMP         R2,#+0x1
   \   0000004E   01D0               BEQ         ??AT91F_BasicTestSuite_4
   \                     ??AT91F_BasicTestSuite_3:
   \   00000050   B742               CMP         R7,R6
   \   00000052   F6D3               BCC         ??AT91F_BasicTestSuite_2
    114            testCAN0=testCAN1=AT91C_TEST_NOK;
   \                     ??AT91F_BasicTestSuite_4:
   \   00000054   0022               MOV         R2,#+0
   \   00000056   0A70               STRB        R2,[R1, #+0]
   \   00000058   0270               STRB        R2,[R0, #+0]
    115          
    116            if (tick == AT91C_CAN_TIMEOUT) {
   \   0000005A   B742               CMP         R7,R6
   \   0000005C   02D1               BNE         ??AT91F_BasicTestSuite_5
    117              TRACE_ERROR("-E- CAN0 & CAN1 Initialisations FAILED !\n\r");
   \   0000005E   291C               MOV         R1,R5
   \   00000060   A831               ADD         R1,#+0xA8
   \   00000062   01E0               B           ??AT91F_BasicTestSuite_6
    118            } else {
    119              TRACE_INFO("-I- CAN0 & CAN1 Initialisations Completed !\n\r");
   \                     ??AT91F_BasicTestSuite_5:
   \   00000064   291C               MOV         R1,R5
   \   00000066   D431               ADD         R1,#+0xD4
   \                     ??AT91F_BasicTestSuite_6:
   \   00000068   201C               MOV         R0,R4
   \   0000006A   ........           _BLF        fprintf,fprintf??rT
    120            }
    121          
    122            // Configure Mailboxes
    123            AT91F_InitMailbox();
   \   0000006E   ........           BL          AT91F_InitMailbox
    124          
    125            ///////////////////////////////////////////////////////////////////////////////////////////
    126            TRACE_INFO("\n\r---------------------------------------------------\n\r");
   \   00000072   8220               MOV         R0,#+0x82
   \   00000074   4000               LSL         R0,R0,#+0x1        ;; #+0x104
   \   00000076   2918               ADD         R1,R5,R0
   \   00000078   201C               MOV         R0,R4
   \   0000007A   ........           _BLF        fprintf,fprintf??rT
    127            TRACE_INFO("2. CAN0 Mailbox 0 transmitting to CAN1 Mailbox 0...\n\r");
   \   0000007E   9E20               MOV         R0,#+0x9E
   \   00000080   4000               LSL         R0,R0,#+0x1        ;; #+0x13C
   \   00000082   2918               ADD         R1,R5,R0
   \   00000084   201C               MOV         R0,R4
   \   00000086   ........           _BLF        fprintf,fprintf??rT
    128            TRACE_INFO("---------------------------------------------------\n\r");
   \   0000008A   BA20               MOV         R0,#+0xBA

⌨️ 快捷键说明

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