📄 can.lst
字号:
183 TRACE_INFO("-- CAN1 Mailbox 3: Producer Mailbox \n\r");
\ ??AT91F_BasicTestSuite_38:
\ 00000296 1648 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 00000298 0028 CMP R0,#+0
\ 0000029A 03D0 BEQ ??AT91F_BasicTestSuite_39
\ 0000029C 4F49 LDR R1,??AT91F_BasicTestSuite_9+0x64 ;; `?<Constant "-- CAN1 Mailbox 3: Pr...">`
\ 0000029E 1448 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 000002A0 ........ _BLF fprintf,fprintf??rT
184 TRACE_INFO("-----------------------------------------------------------\n\r");
\ ??AT91F_BasicTestSuite_39:
\ 000002A4 1248 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 000002A6 0028 CMP R0,#+0
\ 000002A8 03D0 BEQ ??AT91F_BasicTestSuite_40
\ 000002AA 4A49 LDR R1,??AT91F_BasicTestSuite_9+0x5C ;; `?<Constant "---------------------...">_3`
\ 000002AC 1048 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 000002AE ........ _BLF fprintf,fprintf??rT
185 // Ask Transmissions on Mailbox 3 --> AT91C_CAN_MRDY raises for Mailbox 3 CAN_MB_SR ,发送传输请求
186 AT91F_CAN_InitTransferRequest(AT91C_BASE_CAN1,AT91C_CAN_MB3);
\ ??AT91F_BasicTestSuite_40:
\ 000002B2 0821 MOV R1,#+0x8
\ 000002B4 1348 LDR R0,??AT91F_BasicTestSuite_0+0x14 ;; 0xfff84000
\ 000002B6 ........ _BLF AT91F_CAN_InitTransferRequest,AT91F_CAN_InitTransferRequest??rT
187 AT91F_CAN_InitTransferRequest(AT91C_BASE_CAN0,AT91C_CAN_MB3);
\ 000002BA 0821 MOV R1,#+0x8
\ 000002BC 1048 LDR R0,??AT91F_BasicTestSuite_0+0x10 ;; 0xfff80000
\ 000002BE ........ _BLF AT91F_CAN_InitTransferRequest,AT91F_CAN_InitTransferRequest??rT
188
189 // Wait for Last Transmit Mailbox,等待发送结束
190 tick=0;
\ 000002C2 0020 MOV R0,#+0
\ 000002C4 041C MOV R4,R0
191 do {
192 status = AT91F_CAN_GetMessageStatus(&(AT91C_BASE_CAN0->CAN_MB3));
\ ??AT91F_BasicTestSuite_41:
\ 000002C6 4648 LDR R0,??AT91F_BasicTestSuite_9+0x68 ;; 0xfff80260
\ 000002C8 ........ _BLF AT91F_CAN_GetMessageStatus,AT91F_CAN_GetMessageStatus??rT
\ 000002CC 051C MOV R5,R0
193 }
194 while( !(status & AT91C_CAN_MRDY) && (++tick<AT91C_CAN_TIMEOUT) ); //记录超时次数
\ 000002CE 2802 LSL R0,R5,#+0x8
\ 000002D0 03D4 BMI ??AT91F_BasicTestSuite_42
\ 000002D2 641C ADD R4,#+0x1
\ 000002D4 0E48 LDR R0,??AT91F_BasicTestSuite_0+0x20 ;; 0x186a0
\ 000002D6 8442 CMP R4,R0
\ 000002D8 F5D3 BCC ??AT91F_BasicTestSuite_41
195
196 if (tick == AT91C_CAN_TIMEOUT) {
\ ??AT91F_BasicTestSuite_42:
\ 000002DA 0D48 LDR R0,??AT91F_BasicTestSuite_0+0x20 ;; 0x186a0
\ 000002DC 8442 CMP R4,R0
\ 000002DE 19D1 BNE ??AT91F_BasicTestSuite_43
197 TRACE_ERROR("-E- Test FAILED !\n\r");
\ 000002E0 0348 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 000002E2 0028 CMP R0,#+0
\ 000002E4 3DD0 BEQ ??AT91F_BasicTestSuite_44
\ 000002E6 2C49 LDR R1,??AT91F_BasicTestSuite_9+0x20 ;; `?<Constant "-E- Test FAILED !\\n\\r">`
\ 000002E8 0148 LDR R0,??AT91F_BasicTestSuite_0 ;; _Stdout
\ 000002EA ........ _BLF fprintf,fprintf??rT
\ 000002EE 38E0 B ??AT91F_BasicTestSuite_44
\ ??AT91F_BasicTestSuite_0:
\ 000002F0 ........ DC32 _Stdout
\ 000002F4 ........ DC32 `?<Constant "\\n\\r-------------------...">`
\ 000002F8 ........ DC32 `?<Constant "1. Wait for CAN Contr...">`
\ 000002FC ........ DC32 `?<Constant "---------------------...">`
\ 00000300 0000F8FF DC32 0xfff80000
\ 00000304 0040F8FF DC32 0xfff84000
\ 00000308 ........ DC32 testCAN0
\ 0000030C ........ DC32 testCAN1
\ 00000310 A0860100 DC32 0x186a0
198 } else {
199 TRACE_INFO("-I- Tranfers Completed: CAN0 & CAN1 Mailboxes 3 MRDY flags have raised.\n\r");
\ ??AT91F_BasicTestSuite_43:
\ 00000314 3348 LDR R0,??AT91F_BasicTestSuite_9+0x6C ;; _Stdout
\ 00000316 0028 CMP R0,#+0
\ 00000318 03D0 BEQ ??AT91F_BasicTestSuite_45
\ 0000031A 3349 LDR R1,??AT91F_BasicTestSuite_9+0x70 ;; `?<Constant "-I- Tranfers Complete...">_1`
\ 0000031C 3148 LDR R0,??AT91F_BasicTestSuite_9+0x6C ;; _Stdout
\ 0000031E ........ _BLF fprintf,fprintf??rT
200 if( AT91F_CAN_GetMessageDataLow(&AT91C_BASE_CAN0->CAN_MB3) != AT91F_CAN_GetMessageDataLow(&AT91C_BASE_CAN1->CAN_MB3) )
\ ??AT91F_BasicTestSuite_45:
\ 00000322 2F48 LDR R0,??AT91F_BasicTestSuite_9+0x68 ;; 0xfff80260
\ 00000324 ........ _BLF AT91F_CAN_GetMessageDataLow,AT91F_CAN_GetMessageDataLow??rT
\ 00000328 061C MOV R6,R0
\ 0000032A 3048 LDR R0,??AT91F_BasicTestSuite_9+0x74 ;; 0xfff84260
\ 0000032C ........ _BLF AT91F_CAN_GetMessageDataLow,AT91F_CAN_GetMessageDataLow??rT
\ 00000330 8642 CMP R6,R0
\ 00000332 06D0 BEQ ??AT91F_BasicTestSuite_46
201 TRACE_ERROR("-E- Data Corrupted !\n\r");
\ 00000334 2B48 LDR R0,??AT91F_BasicTestSuite_9+0x6C ;; _Stdout
\ 00000336 0028 CMP R0,#+0
\ 00000338 03D0 BEQ ??AT91F_BasicTestSuite_46
\ 0000033A 1A49 LDR R1,??AT91F_BasicTestSuite_9+0x2C ;; `?<Constant "-E- Data Corrupted !\\n\\r">`
\ 0000033C 2948 LDR R0,??AT91F_BasicTestSuite_9+0x6C ;; _Stdout
\ 0000033E ........ _BLF fprintf,fprintf??rT
202 if( AT91F_CAN_GetMessageDataHigh(&AT91C_BASE_CAN0->CAN_MB3) != AT91F_CAN_GetMessageDataHigh(&AT91C_BASE_CAN1->CAN_MB3) )
\ ??AT91F_BasicTestSuite_46:
\ 00000342 2748 LDR R0,??AT91F_BasicTestSuite_9+0x68 ;; 0xfff80260
\ 00000344 ........ _BLF AT91F_CAN_GetMessageDataHigh,AT91F_CAN_GetMessageDataHigh??rT
\ 00000348 061C MOV R6,R0
\ 0000034A 2848 LDR R0,??AT91F_BasicTestSuite_9+0x74 ;; 0xfff84260
\ 0000034C ........ _BLF AT91F_CAN_GetMessageDataHigh,AT91F_CAN_GetMessageDataHigh??rT
\ 00000350 8642 CMP R6,R0
\ 00000352 06D0 BEQ ??AT91F_BasicTestSuite_44
203 TRACE_ERROR("-E- Data Corrupted !\n\r");
\ 00000354 2348 LDR R0,??AT91F_BasicTestSuite_9+0x6C ;; _Stdout
\ 00000356 0028 CMP R0,#+0
\ 00000358 03D0 BEQ ??AT91F_BasicTestSuite_44
\ 0000035A 1249 LDR R1,??AT91F_BasicTestSuite_9+0x2C ;; `?<Constant "-E- Data Corrupted !\\n\\r">`
\ 0000035C 2148 LDR R0,??AT91F_BasicTestSuite_9+0x6C ;; _Stdout
\ 0000035E ........ _BLF fprintf,fprintf??rT
204 }
205
206 ///////////////////////////////////////////////////////////////////////////////////////////
207 TRACE_INFO("\n\rEnd of Tests\n\r");
\ ??AT91F_BasicTestSuite_44:
\ 00000362 2048 LDR R0,??AT91F_BasicTestSuite_9+0x6C ;; _Stdout
\ 00000364 0028 CMP R0,#+0
\ 00000366 03D0 BEQ ??AT91F_BasicTestSuite_47
\ 00000368 2149 LDR R1,??AT91F_BasicTestSuite_9+0x78 ;; `?<Constant "\\n\\rEnd of Tests\\n\\r">`
\ 0000036A 1E48 LDR R0,??AT91F_BasicTestSuite_9+0x6C ;; _Stdout
\ 0000036C ........ _BLF fprintf,fprintf??rT
208 return;
\ ??AT91F_BasicTestSuite_47:
\ 00000370 70BC POP {R4-R6}
\ 00000372 01BC POP {R0}
\ 00000374 0047 BX R0 ;; return
\ 00000376 C046 NOP
\ ??AT91F_BasicTestSuite_9:
\ 00000378 ........ DC32 `?<Constant "-E- CAN0 & CAN1 Initi...">`
\ 0000037C ........ DC32 `?<Constant "-I- CAN0 & CAN1 Initi...">`
\ 00000380 ........ DC32 `?<Constant "\\n\\r-------------------...">_1`
\ 00000384 ........ DC32 `?<Constant "2. CAN0 Mailbox 0 tra...">`
\ 00000388 ........ DC32 `?<Constant "---------------------...">_1`
\ 0000038C ........ DC32 `?<Constant "-- CAN0 Mailbox 0: Tx...">`
\ 00000390 ........ DC32 `?<Constant "-- CAN1 Mailbox 0: Rx...">`
\ 00000394 0042F8FF DC32 0xfff84200
\ 00000398 ........ DC32 `?<Constant "-E- Test FAILED !\\n\\r">`
\ 0000039C ........ DC32 `?<Constant "-I- Tranfer Completed...">`
\ 000003A0 0002F8FF DC32 0xfff80200
\ 000003A4 ........ DC32 `?<Constant "-E- Data Corrupted !\\n\\r">`
\ 000003A8 ........ DC32 `?<Constant "\\n\\r-------------------...">_2`
\ 000003AC ........ DC32 `?<Constant "3. CAN0 Mailboxes 1 &...">`
\ 000003B0 ........ DC32 `?<Constant "---------------------...">_2`
\ 000003B4 ........ DC32 `?<Constant "-- CAN0 Mailbox 1 : T...">`
\ 000003B8 ........ DC32 `?<Constant "-- CAN0 Mailbox 2 : T...">`
\ 000003BC ........ DC32 `?<Constant "-- CAN1 Mailbox 15: R...">`
\ 000003C0 E043F8FF DC32 0xfff843e0
\ 000003C4 ........ DC32 `?<Constant "-I- Tranfers Complete...">`
\ 000003C8 2002F8FF DC32 0xfff80220
\ 000003CC ........ DC32 `?<Constant "\\n\\r-------------------...">_3`
\ 000003D0 ........ DC32 `?<Constant "4. CAN0 Mailbox 3 ask...">`
\ 000003D4 ........ DC32 `?<Constant "---------------------...">_3`
\ 000003D8 ........ DC32 `?<Constant "-- CAN0 Mailbox 3: Co...">`
\ 000003DC ........ DC32 `?<Constant "-- CAN1 Mailbox 3: Pr...">`
\ 000003E0 6002F8FF DC32 0xfff80260
\ 000003E4 ........ DC32 _Stdout
\ 000003E8 ........ DC32 `?<Constant "-I- Tranfers Complete...">_1`
\ 000003EC 6042F8FF DC32 0xfff84260
\ 000003F0 ........ DC32 `?<Constant "\\n\\rEnd of Tests\\n\\r">`
209 }
210
\ In segment CODE, align 4, keep-with-next
211 void CanSendData(unsigned int LData,unsigned HData)
212 {
\ CanSendData:
\ 00000000 F0B5 PUSH {R4-R7,LR}
\ 00000002 041C MOV R4,R0
\ 00000004 0D1C MOV R5,R1
213 unsigned int status;
214 unsigned int tick=0;
\ 00000006 0020 MOV R0,#+0
\ 00000008 071C MOV R7,R0
215
216 //配置邮箱
217 //AT9
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -