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

📄 can.lst

📁 一个AT91SAM7X256 CAN通讯实验
💻 LST
📖 第 1 页 / 共 3 页
字号:
   \   00000022   3E48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000024   0028               CMP         R0,#+0
   \   00000026   03D0               BEQ         ??AT91F_BasicTestSuite_3
   \   00000028   3F49               LDR         R1,??AT91F_BasicTestSuite_0+0xC  ;; `?<Constant "---------------------...">`
   \   0000002A   3C48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   0000002C   ........           _BLF        fprintf,fprintf??rT
     57          
     58            // Enable CAN and Wait for WakeUp Interrupt
     59            AT91F_CAN_EnableIt(AT91C_BASE_CAN,AT91C_CAN_WAKEUP);
   \                     ??AT91F_BasicTestSuite_3:
   \   00000030   8021               MOV         R1,#+0x80
   \   00000032   8903               LSL         R1,R1,#+0xE        ;; #+0x200000
   \   00000034   3D48               LDR         R0,??AT91F_BasicTestSuite_0+0x10  ;; 0xfffd0000
   \   00000036   ........           _BLF        AT91F_CAN_EnableIt,AT91F_CAN_EnableIt??rT
     60            AT91F_CAN_CfgModeReg(AT91C_BASE_CAN,AT91C_CAN_CANEN);
   \   0000003A   0121               MOV         R1,#+0x1
   \   0000003C   3B48               LDR         R0,??AT91F_BasicTestSuite_0+0x10  ;; 0xfffd0000
   \   0000003E   ........           _BLF        AT91F_CAN_CfgModeReg,AT91F_CAN_CfgModeReg??rT
     61          
     62            // Wait for WAKEUP flag raising <=> 11-recessive-bit were scanned by the transceiver
     63            while( (testCAN != AT91C_TEST_OK) && (++tick < AT91C_CAN_TIMEOUT) ) ;
   \                     ??AT91F_BasicTestSuite_4:
   \   00000042   3B48               LDR         R0,??AT91F_BasicTestSuite_0+0x14  ;; testCAN
   \   00000044   0078               LDRB        R0,[R0, #+0]
   \   00000046   0128               CMP         R0,#+0x1
   \   00000048   03D0               BEQ         ??AT91F_BasicTestSuite_5
   \   0000004A   641C               ADD         R4,#+0x1
   \   0000004C   3948               LDR         R0,??AT91F_BasicTestSuite_0+0x18  ;; 0x186a0
   \   0000004E   8442               CMP         R4,R0
   \   00000050   F7D3               BCC         ??AT91F_BasicTestSuite_4
     64            testCAN=AT91C_TEST_NOK;
   \                     ??AT91F_BasicTestSuite_5:
   \   00000052   3748               LDR         R0,??AT91F_BasicTestSuite_0+0x14  ;; testCAN
   \   00000054   0021               MOV         R1,#+0
   \   00000056   0170               STRB        R1,[R0, #+0]
     65          
     66            if (tick >= AT91C_CAN_TIMEOUT) {
   \   00000058   3648               LDR         R0,??AT91F_BasicTestSuite_0+0x18  ;; 0x186a0
   \   0000005A   8442               CMP         R4,R0
   \   0000005C   07D3               BCC         ??AT91F_BasicTestSuite_6
     67              TRACE_ERROR("\n\r-E- CAN Initialisation FAILED !\n\r");
   \   0000005E   2F48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000060   0028               CMP         R0,#+0
   \   00000062   0BD0               BEQ         ??AT91F_BasicTestSuite_7
   \   00000064   3449               LDR         R1,??AT91F_BasicTestSuite_0+0x1C  ;; `?<Constant "\\n\\r-E- CAN Initialisat...">`
   \   00000066   2D48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000068   ........           _BLF        fprintf,fprintf??rT
   \   0000006C   06E0               B           ??AT91F_BasicTestSuite_7
     68            } else {
     69              TRACE_INFO("\n\r-I- CAN Initialisation Completed !\n\r");
   \                     ??AT91F_BasicTestSuite_6:
   \   0000006E   2B48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000070   0028               CMP         R0,#+0
   \   00000072   03D0               BEQ         ??AT91F_BasicTestSuite_7
   \   00000074   3149               LDR         R1,??AT91F_BasicTestSuite_0+0x20  ;; `?<Constant "\\n\\r-I- CAN Initialisat...">`
   \   00000076   2948               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000078   ........           _BLF        fprintf,fprintf??rT
     70            }
     71          
     72            ///////////////////////////////////////////////////////////////////////////////////////////
     73            TRACE_INFO("\n\r---------------------------------------------------\n\r");
   \                     ??AT91F_BasicTestSuite_7:
   \   0000007C   2748               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   0000007E   0028               CMP         R0,#+0
   \   00000080   03D0               BEQ         ??AT91F_BasicTestSuite_8
   \   00000082   2F49               LDR         R1,??AT91F_BasicTestSuite_0+0x24  ;; `?<Constant "\\n\\r-------------------...">_1`
   \   00000084   2548               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000086   ........           _BLF        fprintf,fprintf??rT
     74            TRACE_INFO("2. Try to send or receive CAN messages...\n\r");
   \                     ??AT91F_BasicTestSuite_8:
   \   0000008A   2448               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   0000008C   0028               CMP         R0,#+0
   \   0000008E   03D0               BEQ         ??AT91F_BasicTestSuite_9
   \   00000090   2C49               LDR         R1,??AT91F_BasicTestSuite_0+0x28  ;; `?<Constant "2. Try to send or rec...">`
   \   00000092   2248               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000094   ........           _BLF        fprintf,fprintf??rT
     75            TRACE_INFO("---------------------------------------------------\n\r");
   \                     ??AT91F_BasicTestSuite_9:
   \   00000098   2048               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   0000009A   0028               CMP         R0,#+0
   \   0000009C   03D0               BEQ         ??AT91F_BasicTestSuite_10
   \   0000009E   2A49               LDR         R1,??AT91F_BasicTestSuite_0+0x2C  ;; `?<Constant "---------------------...">_1`
   \   000000A0   1E48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   000000A2   ........           _BLF        fprintf,fprintf??rT
     76            TRACE_INFO("-- CAN Mailbox 0: Tx Mailbox \n\r");
   \                     ??AT91F_BasicTestSuite_10:
   \   000000A6   1D48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   000000A8   0028               CMP         R0,#+0
   \   000000AA   03D0               BEQ         ??AT91F_BasicTestSuite_11
   \   000000AC   2749               LDR         R1,??AT91F_BasicTestSuite_0+0x30  ;; `?<Constant "-- CAN Mailbox 0: Tx ...">`
   \   000000AE   1B48               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   000000B0   ........           _BLF        fprintf,fprintf??rT
     77            TRACE_INFO("-- CAN Mailbox 1: Rx Mailbox \n\r");
   \                     ??AT91F_BasicTestSuite_11:
   \   000000B4   1948               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   000000B6   0028               CMP         R0,#+0
   \   000000B8   03D0               BEQ         ??AT91F_BasicTestSuite_12
   \   000000BA   2549               LDR         R1,??AT91F_BasicTestSuite_0+0x34  ;; `?<Constant "-- CAN Mailbox 1: Rx ...">`
   \   000000BC   1748               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   000000BE   ........           _BLF        fprintf,fprintf??rT
     78            TRACE_INFO("---------------------------------------------------\n\r");
   \                     ??AT91F_BasicTestSuite_12:
   \   000000C2   1648               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   000000C4   0028               CMP         R0,#+0
   \   000000C6   03D0               BEQ         ??AT91F_BasicTestSuite_13
   \   000000C8   1F49               LDR         R1,??AT91F_BasicTestSuite_0+0x2C  ;; `?<Constant "---------------------...">_1`
   \   000000CA   1448               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   000000CC   ........           _BLF        fprintf,fprintf??rT
     79          
     80            // Configure Mailboxes
     81            AT91F_InitMailbox();
   \                     ??AT91F_BasicTestSuite_13:
   \   000000D0   ........           BL          AT91F_InitMailbox
     82          
     83            // Enable Reception on Mailbox 1
     84            AT91F_CAN_InitTransferRequest(AT91C_BASE_CAN,AT91C_CAN_MB1);
   \   000000D4   0221               MOV         R1,#+0x2
   \   000000D6   1548               LDR         R0,??AT91F_BasicTestSuite_0+0x10  ;; 0xfffd0000
   \   000000D8   ........           _BLF        AT91F_CAN_InitTransferRequest,AT91F_CAN_InitTransferRequest??rT
     85            // Enable Reception Mailbox 1 interrupt
     86            AT91F_CAN_EnableIt(AT91C_BASE_CAN,AT91C_CAN_MB1);
   \   000000DC   0221               MOV         R1,#+0x2
   \   000000DE   1348               LDR         R0,??AT91F_BasicTestSuite_0+0x10  ;; 0xfffd0000
   \   000000E0   ........           _BLF        AT91F_CAN_EnableIt,AT91F_CAN_EnableIt??rT
     87          
     88            for (;;) {
     89              // Ask Transmission on Mailbox 0
     90              AT91F_CAN_InitTransferRequest(AT91C_BASE_CAN,AT91C_CAN_MB0);
   \                     ??AT91F_BasicTestSuite_14:
   \   000000E4   0121               MOV         R1,#+0x1
   \   000000E6   1148               LDR         R0,??AT91F_BasicTestSuite_0+0x10  ;; 0xfffd0000
   \   000000E8   ........           _BLF        AT91F_CAN_InitTransferRequest,AT91F_CAN_InitTransferRequest??rT
     91              // Enable Transmission Mailbox 0 interrupt
     92              AT91F_CAN_EnableIt(AT91C_BASE_CAN,AT91C_CAN_MB0);
   \   000000EC   0121               MOV         R1,#+0x1
   \   000000EE   0F48               LDR         R0,??AT91F_BasicTestSuite_0+0x10  ;; 0xfffd0000
   \   000000F0   ........           _BLF        AT91F_CAN_EnableIt,AT91F_CAN_EnableIt??rT
     93          
     94              // Wait for Reception on Mailbox 1
     95              while(testCAN!=AT91C_TEST_OK);
   \                     ??AT91F_BasicTestSuite_15:
   \   000000F4   0E48               LDR         R0,??AT91F_BasicTestSuite_0+0x14  ;; testCAN
   \   000000F6   0078               LDRB        R0,[R0, #+0]
   \   000000F8   0128               CMP         R0,#+0x1
   \   000000FA   FBD1               BNE         ??AT91F_BasicTestSuite_15
     96              testCAN = AT91C_TEST_NOK;
   \   000000FC   0C48               LDR         R0,??AT91F_BasicTestSuite_0+0x14  ;; testCAN
   \   000000FE   0021               MOV         R1,#+0
   \   00000100   0170               STRB        R1,[R0, #+0]
     97              TRACE_INFO("\n\rTx messages:%u , Rx messages:%u\n\r",txcounter,rxcounter);
   \   00000102   0648               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000104   0028               CMP         R0,#+0
   \   00000106   EDD0               BEQ         ??AT91F_BasicTestSuite_14
   \   00000108   1248               LDR         R0,??AT91F_BasicTestSuite_0+0x38  ;; rxcounter
   \   0000010A   0368               LDR         R3,[R0, #+0]
   \   0000010C   1248               LDR         R0,??AT91F_BasicTestSuite_0+0x3C  ;; txcounter
   \   0000010E   0268               LDR         R2,[R0, #+0]
   \   00000110   1249               LDR         R1,??AT91F_BasicTestSuite_0+0x40  ;; `?<Constant "\\n\\rTx messages:%u , Rx...">`
   \   00000112   0248               LDR         R0,??AT91F_BasicTestSuite_0  ;; _Stdout
   \   00000114   ........           _BLF        fprintf,fprintf??rT
   \   00000118   E4E7               B           ??AT91F_BasicTestSuite_14
   \   0000011A   C046               NOP         
   \                     ??AT91F_BasicTestSuite_0:
   \   0000011C   ........           DC32        _Stdout
   \   00000120   ........           DC32        `?<Constant "\\n\\r-------------------...">`
   \   00000124   ........           DC32        `?<Constant "1. Wait for CAN Contr...">`
   \   00000128   ........           DC32        `?<Constant "---------------------...">`
   \   0000012C   0000FDFF           DC32        0xfffd0000
   \   00000130   ........           DC32        testCAN
   \   00000134   A0860100           DC32        0x186a0
   \   00000138   ........           DC32        `?<Constant "\\n\\r-E- CAN Initialisat...">`
   \   0000013C   ........           DC32        `?<Constant "\\n\\r-I- CAN Initialisat...">`
   \   00000140   ........           DC32        `?<Constant "\\n\\r-------------------...">_1`
   \   00000144   ........           DC32        `?<Constant "2. Try to send or rec...">`
   \   00000148   ........           DC32        `?<Constant "---------------------...">_1`
   \   0000014C   ........           DC32        `?<Constant "-- CAN Mailbox 0: Tx ...">`
   \   00000150   ........           DC32        `?<Constant "-- CAN Mailbox 1: Rx ...">`
   \   00000154   ........           DC32        rxcounter
   \   00000158   ........           DC32        txcounter
   \   0000015C   ........           DC32        `?<Constant "\\n\\rTx messages:%u , Rx...">`
     98            }
     99          }

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "\\n\\r-------------------...">`:
   \   00000000   0A0D2D2D2D2D       DC8 0AH, 0DH, 2DH, 2DH, 2DH, 2DH, 2DH, 2DH
   \              2D2D        
   \   00000008   2D2D2D2D2D2D       DC8 2DH, 2DH, 2DH, 2DH, 2DH, 2DH, 2DH, 2DH
   \              2D2D        
   \   00000010   2D2D2D2D2D2D       DC8 2DH, 2DH, 2DH, 2DH, 2DH, 2DH, 2DH, 2DH
   \              2D2D        

⌨️ 快捷键说明

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