📄 can.lst
字号:
48 AT91C_CAN_MIDvA & (0x09<<18), // ID 9
49 0xAABBCCDD,
50 0xCAFEDECA,
51 (AT91C_CAN_MDLC & (0x8<<16)) );
\ 00000034 8022 MOV R2,#+0x80
\ 00000036 1203 LSL R2,R2,#+0xC ;; #+0x80000
\ 00000038 2349 LDR R1,??AT91F_InitMailbox_0+0x14 ;; 0xcafedeca
\ 0000003A 2448 LDR R0,??AT91F_InitMailbox_0+0x18 ;; 0xaabbccdd
\ 0000003C 07B4 PUSH {R0-R2}
\ 0000003E 9023 MOV R3,#+0x90
\ 00000040 9B03 LSL R3,R3,#+0xE ;; #+0x240000
\ 00000042 1F4A LDR R2,??AT91F_InitMailbox_0+0xC ;; 0x3fffffff
\ 00000044 1D49 LDR R1,??AT91F_InitMailbox_0+0x8 ;; 0x30f0000
\ 00000046 .... LDR R0,??DataTable2 ;; 0xfff80220
\ 00000048 ........ _BLF AT91F_InitMailboxRegisters,AT91F_InitMailboxRegisters??rT
\ 0000004C 03B0 ADD SP,#+0xC
52
53 // Init CAN0 Mailbox 2
54 AT91F_InitMailboxRegisters( AT91C_BASE_CAN0_MB2,
55 AT91C_CAN_MOT_TX |(AT91C_CAN_PRIOR-1),
56 0x00000000,
57 AT91C_CAN_MIDvA & (0x0A<<18), // ID 10
58 0x55667788,
59 0x99AABBCC,
60 (AT91C_CAN_MDLC & (0x8<<16)) );
\ 0000004E 8022 MOV R2,#+0x80
\ 00000050 1203 LSL R2,R2,#+0xC ;; #+0x80000
\ 00000052 1F49 LDR R1,??AT91F_InitMailbox_0+0x1C ;; 0x99aabbcc
\ 00000054 1F48 LDR R0,??AT91F_InitMailbox_0+0x20 ;; 0x55667788
\ 00000056 07B4 PUSH {R0-R2}
\ 00000058 A023 MOV R3,#+0xA0
\ 0000005A 9B03 LSL R3,R3,#+0xE ;; #+0x280000
\ 0000005C 0022 MOV R2,#+0
\ 0000005E 1E49 LDR R1,??AT91F_InitMailbox_0+0x24 ;; 0x30effff
\ 00000060 1E48 LDR R0,??AT91F_InitMailbox_0+0x28 ;; 0xfff80240
\ 00000062 ........ _BLF AT91F_InitMailboxRegisters,AT91F_InitMailboxRegisters??rT
\ 00000066 03B0 ADD SP,#+0xC
61
62 // Init CAN1 Mailbox 15 ,ID号为全0的信箱可以接收所有信箱消息
63 AT91F_InitMailboxRegisters( AT91C_BASE_CAN1_MB15,
64 AT91C_CAN_MOT_RXOVERWRITE | AT91C_CAN_PRIOR,
65 0x00000000,
66 0x00000000,
67 0x00000000,
68 0x00000000,
69 0x00000000);
\ 00000068 0022 MOV R2,#+0
\ 0000006A 0021 MOV R1,#+0
\ 0000006C 0020 MOV R0,#+0
\ 0000006E 07B4 PUSH {R0-R2}
\ 00000070 0023 MOV R3,#+0
\ 00000072 0022 MOV R2,#+0
\ 00000074 1A49 LDR R1,??AT91F_InitMailbox_0+0x2C ;; 0x20f0000
\ 00000076 .... LDR R0,??DataTable3 ;; 0xfff843e0
\ 00000078 ........ _BLF AT91F_InitMailboxRegisters,AT91F_InitMailboxRegisters??rT
\ 0000007C 03B0 ADD SP,#+0xC
70
71 // Init CAN0 Mailbox 3
72 AT91F_InitMailboxRegisters( AT91C_BASE_CAN0_MB3,
73 AT91C_CAN_MOT_CONSUMER | AT91C_CAN_PRIOR,
74 AT91C_CAN_MIDvA | AT91C_CAN_MIDvB | AT91C_CAN_MIDE,
75 AT91C_CAN_MIDvA & (0x0B<<18), // ID 11
76 0x00000000,
77 0x00000000,
78 0x00000000);
\ 0000007E 0022 MOV R2,#+0
\ 00000080 0021 MOV R1,#+0
\ 00000082 0020 MOV R0,#+0
\ 00000084 07B4 PUSH {R0-R2}
\ 00000086 B023 MOV R3,#+0xB0
\ 00000088 9B03 LSL R3,R3,#+0xE ;; #+0x2C0000
\ 0000008A 0D4A LDR R2,??AT91F_InitMailbox_0+0xC ;; 0x3fffffff
\ 0000008C 1549 LDR R1,??AT91F_InitMailbox_0+0x30 ;; 0x40f0000
\ 0000008E .... LDR R0,??DataTable4 ;; 0xfff80260
\ 00000090 ........ _BLF AT91F_InitMailboxRegisters,AT91F_InitMailboxRegisters??rT
\ 00000094 03B0 ADD SP,#+0xC
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)) );
\ 00000096 8022 MOV R2,#+0x80
\ 00000098 1203 LSL R2,R2,#+0xC ;; #+0x80000
\ 0000009A 1349 LDR R1,??AT91F_InitMailbox_0+0x34 ;; 0xc0c06969
\ 0000009C 1348 LDR R0,??AT91F_InitMailbox_0+0x38 ;; 0xbebed0d0
\ 0000009E 07B4 PUSH {R0-R2}
\ 000000A0 B023 MOV R3,#+0xB0
\ 000000A2 9B03 LSL R3,R3,#+0xE ;; #+0x2C0000
\ 000000A4 0022 MOV R2,#+0
\ 000000A6 1249 LDR R1,??AT91F_InitMailbox_0+0x3C ;; 0x50f0000
\ 000000A8 .... LDR R0,??DataTable5 ;; 0xfff84260
\ 000000AA ........ _BLF AT91F_InitMailboxRegisters,AT91F_InitMailboxRegisters??rT
\ 000000AE 03B0 ADD SP,#+0xC
88 }
\ 000000B0 01BC POP {R0}
\ 000000B2 0047 BX R0 ;; return
\ ??AT91F_InitMailbox_0:
\ 000000B4 32547698 DC32 0x98765432
\ 000000B8 89674523 DC32 0x23456789
\ 000000BC 00000F03 DC32 0x30f0000
\ 000000C0 FFFFFF3F DC32 0x3fffffff
\ 000000C4 00000F01 DC32 0x10f0000
\ 000000C8 CADEFECA DC32 0xcafedeca
\ 000000CC DDCCBBAA DC32 0xaabbccdd
\ 000000D0 CCBBAA99 DC32 0x99aabbcc
\ 000000D4 88776655 DC32 0x55667788
\ 000000D8 FFFF0E03 DC32 0x30effff
\ 000000DC 4002F8FF DC32 0xfff80240
\ 000000E0 00000F02 DC32 0x20f0000
\ 000000E4 00000F04 DC32 0x40f0000
\ 000000E8 6969C0C0 DC32 0xc0c06969
\ 000000EC D0D0BEBE DC32 0xbebed0d0
\ 000000F0 00000F05 DC32 0x50f0000
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 70B5 PUSH {R4-R6,LR}
96 unsigned int status;
97 unsigned int tick=0;
\ 00000002 0020 MOV R0,#+0
\ 00000004 041C MOV R4,R0
98 ///////////////////////////////////////////////////////////////////////////////////////////
99 TRACE_INFO("\n\r--------------------------------------------------\n\r");
\ 00000006 BA48 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 00000008 0028 CMP R0,#+0
\ 0000000A 03D0 BEQ ??AT91F_BasicTestSuite_1
\ 0000000C B949 LDR R1,??AT91F_BasicTestSuite_0+0x4 ;; `?<Constant "\\n\\r-------------------...">`
\ 0000000E B848 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 00000010 ........ _BLF fprintf,fprintf??rT
100 TRACE_INFO("1. Wait for CAN Controllers Bus Synchronization...\n\r");
\ ??AT91F_BasicTestSuite_1:
\ 00000014 B648 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 00000016 0028 CMP R0,#+0
\ 00000018 03D0 BEQ ??AT91F_BasicTestSuite_2
\ 0000001A B749 LDR R1,??AT91F_BasicTestSuite_0+0x8 ;; `?<Constant "1. Wait for CAN Contr...">`
\ 0000001C B448 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 0000001E ........ _BLF fprintf,fprintf??rT
101 TRACE_INFO("--------------------------------------------------\n\r");
\ ??AT91F_BasicTestSuite_2:
\ 00000022 B348 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 00000024 0028 CMP R0,#+0
\ 00000026 03D0 BEQ ??AT91F_BasicTestSuite_3
\ 00000028 B449 LDR R1,??AT91F_BasicTestSuite_0+0xC ;; `?<Constant "---------------------...">`
\ 0000002A B148 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 0000002C ........ _BLF fprintf,fprintf??rT
102
103 // Enable CAN and Wait for WakeUp Interrupt
104 AT91F_CAN_EnableIt(AT91C_BASE_CAN0,AT91C_CAN_WAKEUP);
\ ??AT91F_BasicTestSuite_3:
\ 00000030 8021 MOV R1,#+0x80
\ 00000032 8903 LSL R1,R1,#+0xE ;; #+0x200000
\ 00000034 B248 LDR R0,??AT91F_BasicTestSuite_0+0x10 ;; 0xfff80000
\ 00000036 ........ _BLF AT91F_CAN_EnableIt,AT91F_CAN_EnableIt??rT
105 AT91F_CAN_EnableIt(AT91C_BASE_CAN1,AT91C_CAN_WAKEUP);
\ 0000003A 8021 MOV R1,#+0x80
\ 0000003C 8903 LSL R1,R1,#+0xE ;; #+0x200000
\ 0000003E B148 LDR R0,??AT91F_BasicTestSuite_0+0x14 ;; 0xfff84000
\ 00000040 ........ _BLF AT91F_CAN_EnableIt,AT91F_CAN_EnableIt??rT
106 AT91F_CAN_CfgModeReg(AT91C_BASE_CAN0,AT91C_CAN_CANEN);
\ 00000044 0121 MOV R1,#+0x1
\ 00000046 AE48 LDR R0,??AT91F_BasicTestSuite_0+0x10 ;; 0xfff80000
\ 00000048 ........ _BLF AT91F_CAN_CfgModeReg,AT91F_CAN_CfgModeReg??rT
107 AT91F_CAN_CfgModeReg(AT91C_BASE_CAN1,AT91C_CAN_CANEN);
\ 0000004C 0121 MOV R1,#+0x1
\ 0000004E AD48 LDR R0,??AT91F_BasicTestSuite_0+0x14 ;; 0xfff84000
\ 00000050 ........ _BLF AT91F_CAN_CfgModeReg,AT91F_CAN_CfgModeReg??rT
108
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -