📄 main.lst
字号:
\ 000001CC FF1781E3 ORR R1,R1,#0x3FC0000
\ 000001D0 001080E5 STR R1,[R0, #+0]
435 canTransfer1.data_low_reg = 0x00000000;
\ 000001D4 5C019FE5 LDR R0,??InitCANInRecept_0+0x18 ;; canTransfer1 + 16
\ 000001D8 0010A0E3 MOV R1,#+0
\ 000001DC 001080E5 STR R1,[R0, #+0]
436 canTransfer1.data_high_reg = 0x00000000;
\ 000001E0 54019FE5 LDR R0,??InitCANInRecept_0+0x1C ;; canTransfer1 + 20
\ 000001E4 001080E5 STR R1,[R0, #+0]
437 canTransfer1.control_reg = 0x00000000;
\ 000001E8 50019FE5 LDR R0,??InitCANInRecept_0+0x20 ;; canTransfer1 + 24
\ 000001EC 001080E5 STR R1,[R0, #+0]
438 CAN_InitMailboxRegisters( &canTransfer1 );
\ 000001F0 ........ LDR R0,??DataTable28 ;; canTransfer1
\ 000001F4 ........ BL CAN_InitMailboxRegisters
439
440
441 //Schranka5
442 canTransfer1.can_number = 0;
\ 000001F8 20019FE5 LDR R0,??InitCANInRecept_0 ;; canTransfer1 + 1
\ 000001FC 0010A0E3 MOV R1,#+0
\ 00000200 0010C0E5 STRB R1,[R0, #+0]
443 canTransfer1.mailbox_number = 5;
\ 00000204 18019FE5 LDR R0,??InitCANInRecept_0+0x4 ;; canTransfer1 + 2
\ 00000208 0510A0E3 MOV R1,#+5
\ 0000020C 0010C0E5 STRB R1,[R0, #+0]
444 canTransfer1.mode_reg = AT91C_CAN_MOT_RX;
\ 00000210 10019FE5 LDR R0,??InitCANInRecept_0+0x8 ;; canTransfer1 + 4
\ 00000214 4017A0E3 MOV R1,#+16777216
\ 00000218 001080E5 STR R1,[R0, #+0]
445 canTransfer1.acceptance_mask_reg = 0x00000470;
\ 0000021C 08019FE5 LDR R0,??InitCANInRecept_0+0xC ;; canTransfer1 + 8
\ 00000220 471EA0E3 MOV R1,#+1136
\ 00000224 001080E5 STR R1,[R0, #+0]
446 canTransfer1.identifier = AT91C_CAN_MIDvA | AT91C_CAN_MIDvB & (1<<(18+i));
\ 00000228 00019FE5 LDR R0,??InitCANInRecept_0+0x10 ;; canTransfer1 + 12
\ 0000022C 7015A0E3 MOV R1,#+469762048
\ 00000230 FF1781E3 ORR R1,R1,#0x3FC0000
\ 00000234 001080E5 STR R1,[R0, #+0]
447 canTransfer1.data_low_reg = 0x00000000;
\ 00000238 F8009FE5 LDR R0,??InitCANInRecept_0+0x18 ;; canTransfer1 + 16
\ 0000023C 0010A0E3 MOV R1,#+0
\ 00000240 001080E5 STR R1,[R0, #+0]
448 canTransfer1.data_high_reg = 0x00000000;
\ 00000244 F0009FE5 LDR R0,??InitCANInRecept_0+0x1C ;; canTransfer1 + 20
\ 00000248 001080E5 STR R1,[R0, #+0]
449 canTransfer1.control_reg = 0x00000000;
\ 0000024C EC009FE5 LDR R0,??InitCANInRecept_0+0x20 ;; canTransfer1 + 24
\ 00000250 001080E5 STR R1,[R0, #+0]
450 CAN_InitMailboxRegisters( &canTransfer1 );
\ 00000254 ........ LDR R0,??DataTable28 ;; canTransfer1
\ 00000258 ........ BL CAN_InitMailboxRegisters
451
452
453 //Schranka6
454 canTransfer1.can_number = 0;
\ 0000025C BC009FE5 LDR R0,??InitCANInRecept_0 ;; canTransfer1 + 1
\ 00000260 0010A0E3 MOV R1,#+0
\ 00000264 0010C0E5 STRB R1,[R0, #+0]
455 canTransfer1.mailbox_number = 6;
\ 00000268 B4009FE5 LDR R0,??InitCANInRecept_0+0x4 ;; canTransfer1 + 2
\ 0000026C 0610A0E3 MOV R1,#+6
\ 00000270 0010C0E5 STRB R1,[R0, #+0]
456 canTransfer1.mode_reg = AT91C_CAN_MOT_RXOVERWRITE;
\ 00000274 AC009FE5 LDR R0,??InitCANInRecept_0+0x8 ;; canTransfer1 + 4
\ 00000278 8017A0E3 MOV R1,#+33554432
\ 0000027C 001080E5 STR R1,[R0, #+0]
457 canTransfer1.acceptance_mask_reg = 0x00000470;
\ 00000280 A4009FE5 LDR R0,??InitCANInRecept_0+0xC ;; canTransfer1 + 8
\ 00000284 471EA0E3 MOV R1,#+1136
\ 00000288 001080E5 STR R1,[R0, #+0]
458 canTransfer1.identifier = AT91C_CAN_MIDvA | AT91C_CAN_MIDvB & (1<<(18+i));
\ 0000028C 9C009FE5 LDR R0,??InitCANInRecept_0+0x10 ;; canTransfer1 + 12
\ 00000290 7015A0E3 MOV R1,#+469762048
\ 00000294 FF1781E3 ORR R1,R1,#0x3FC0000
\ 00000298 001080E5 STR R1,[R0, #+0]
459 canTransfer1.data_low_reg = 0x00000000;
\ 0000029C 94009FE5 LDR R0,??InitCANInRecept_0+0x18 ;; canTransfer1 + 16
\ 000002A0 0010A0E3 MOV R1,#+0
\ 000002A4 001080E5 STR R1,[R0, #+0]
460 canTransfer1.data_high_reg = 0x00000000;
\ 000002A8 8C009FE5 LDR R0,??InitCANInRecept_0+0x1C ;; canTransfer1 + 20
\ 000002AC 001080E5 STR R1,[R0, #+0]
461 canTransfer1.control_reg = 0x00000000;
\ 000002B0 88009FE5 LDR R0,??InitCANInRecept_0+0x20 ;; canTransfer1 + 24
\ 000002B4 001080E5 STR R1,[R0, #+0]
462 CAN_InitMailboxRegisters( &canTransfer1 );
\ 000002B8 ........ LDR R0,??DataTable28 ;; canTransfer1
\ 000002BC ........ BL CAN_InitMailboxRegisters
463
464
465 //Schranka7
466 canTransfer1.can_number = 0;
\ 000002C0 58009FE5 LDR R0,??InitCANInRecept_0 ;; canTransfer1 + 1
\ 000002C4 0010A0E3 MOV R1,#+0
\ 000002C8 0010C0E5 STRB R1,[R0, #+0]
467 canTransfer1.mailbox_number = 7;
\ 000002CC 50009FE5 LDR R0,??InitCANInRecept_0+0x4 ;; canTransfer1 + 2
\ 000002D0 0710A0E3 MOV R1,#+7
\ 000002D4 0010C0E5 STRB R1,[R0, #+0]
468 canTransfer1.mode_reg = AT91C_CAN_MOT_RX;
\ 000002D8 48009FE5 LDR R0,??InitCANInRecept_0+0x8 ;; canTransfer1 + 4
\ 000002DC 4017A0E3 MOV R1,#+16777216
\ 000002E0 001080E5 STR R1,[R0, #+0]
469 canTransfer1.acceptance_mask_reg = 0x00000470;
\ 000002E4 40009FE5 LDR R0,??InitCANInRecept_0+0xC ;; canTransfer1 + 8
\ 000002E8 471EA0E3 MOV R1,#+1136
\ 000002EC 001080E5 STR R1,[R0, #+0]
470 canTransfer1.identifier = 0x00000000;
\ 000002F0 38009FE5 LDR R0,??InitCANInRecept_0+0x10 ;; canTransfer1 + 12
\ 000002F4 0010A0E3 MOV R1,#+0
\ 000002F8 001080E5 STR R1,[R0, #+0]
471 canTransfer1.data_low_reg = 0x00000000;
\ 000002FC 34009FE5 LDR R0,??InitCANInRecept_0+0x18 ;; canTransfer1 + 16
\ 00000300 001080E5 STR R1,[R0, #+0]
472 canTransfer1.data_high_reg = 0x00000000;
\ 00000304 30009FE5 LDR R0,??InitCANInRecept_0+0x1C ;; canTransfer1 + 20
\ 00000308 001080E5 STR R1,[R0, #+0]
473 canTransfer1.control_reg = 0x00000000;
\ 0000030C 2C009FE5 LDR R0,??InitCANInRecept_0+0x20 ;; canTransfer1 + 24
\ 00000310 001080E5 STR R1,[R0, #+0]
474 CAN_InitMailboxRegisters( &canTransfer1 );
\ 00000314 ........ LDR R0,??DataTable28 ;; canTransfer1
\ 00000318 0240BDE8 POP {R1,LR}
\ 0000031C ........ B CAN_InitMailboxRegisters ;; tailcall
\ ??InitCANInRecept_0:
\ 00000320 ........ DC32 canTransfer1 + 1
\ 00000324 ........ DC32 canTransfer1 + 2
\ 00000328 ........ DC32 canTransfer1 + 4
\ 0000032C ........ DC32 canTransfer1 + 8
\ 00000330 ........ DC32 canTransfer1 + 12
\ 00000334 7056FC1F DC32 0x1ffc5670
\ 00000338 ........ DC32 canTransfer1 + 16
\ 0000033C ........ DC32 canTransfer1 + 20
\ 00000340 ........ DC32 canTransfer1 + 24
475
476
477 #endif
478
479 }
480
481
482 //------------------------------------------------------------------------------
483 /// Configures the RTT to generate a 0,015625 second tick
484 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
485 void ConfigureRtt(void)
486 {
\ ConfigureRtt:
\ 00000000 10402DE9 PUSH {R4,LR}
487 unsigned int previousTime;
488
489 RTT_SetPrescaler(AT91C_BASE_RTTC, 512);
\ 00000004 801FA0E3 MOV R1,#+512
\ 00000008 DF00E0E3 MVN R0,#+223
\ 0000000C 800FC0E3 BIC R0,R0,#0x200
\ 00000010 ........ BL RTT_SetPrescaler
490 previousTime = RTT_GetTime(AT91C_BASE_RTTC);
\ 00000014 DF00E0E3 MVN R0,#+223
\ 00000018 800FC0E3 BIC R0,R0,#0x200
\ 0000001C ........ BL RTT_GetTime
\ 00000020 0040A0E1 MOV R4,R0
491 while (previousTime == RTT_GetTime(AT91C_BASE_RTTC));
\ ??ConfigureRtt_0:
\ 00000024 DF00E0E3 MVN R0,#+223
\ 00000028 800FC0E3 BIC R0,R0,#0x200
\ 0000002C ........ BL RTT_GetTime
\ 00000030 000054E1 CMP R4,R0
\ 00000034 FAFFFF0A BEQ ??ConfigureRtt_0
492 }
\ 00000038 1040BDE8 POP {R4,LR}
\ 0000003C 1EFF2FE1 BX LR ;; return
493
494 //------------------------------------------------------------------------------
495 // Exported functions
496 //------------------------------------------------------------------------------
497
498
\ In section .text, align 4, keep-with-next
499 int main(void)
500
501 { unsigned char pBuffer[SD_BLOCK_SIZE * NB_MULTI_BLOCKS];
\ main:
\ 00000000 70402DE9 PUSH {R4-R6,LR}
\ 00000004 10D04DE2 SUB SP,SP,#+16
502 unsigned int block;
503 unsigned int i;
504 unsigned short multiBlock;
505 unsigned char error;
506
507 // DBGU configuration
508 TRACE_CONFIGURE(DBGU_STANDARD, 115200, BOARD_MCK);
\ 00000008 0D00A0E1 MOV R0,SP
\ 0000000C 7C149FE5 LDR R1,??main_0 ;; `?<Constant {{402653184, (AT91S_PIO *)429496422`
\ 00000010 0C10B1E8 LDM R1!,{R2,R3,R12}
\ 00000014 0C10A0E8 STM R0!,{R2,R3,R12}
\ 00000018 0110A0E3 MOV R1,#+1
\ 0000001C 0D00A0E1 MOV R0,SP
\ 00000020 ........ BL PIO_Configure
\ 00000024 B727A0E3 MOV R2,#+47972352
\ 00000028 6C2C82E3 ORR R2,R2,#0x6C00
\ 0000002C 401BA0E3 MOV R1,#+65536
\ 00000030 C21C81E3 ORR R1,R1,#0xC200
\ 00000034 800EA0E3 MOV R0,#+2048
\ 00000038 ........ BL DBGU_Configure
509 PIO_InitializeInterrupts(0); //prerusenie
\ 0000003C 0000A0E3 MOV R0,#+0
\ 00000040 ........ BL PIO_InitializeInterrupts
510
511 UTIL_WaitTimeInMs(BOARD_MCK, 1000);
\ 00000044 FA1FA0E3 MOV R1,#+1000
\ 00000048 B707A0E3 MOV R0,#+47972352
\ 0000004C 6C0C80E3 ORR R0,R0,#0x6C00
\ 00000050 ........ BL UTIL_WaitTimeInMs
512 UTIL_WaitTimeInUs(BOARD_MCK, 1000);
\ 00000054 FA1FA0E3 MOV R1,#+1000
\ 00000058 B707A0E3 MOV R0,#+47972352
\ 0000005C 6C0C80E3 ORR R0,R0,#0x6C00
\ 00000060 ........ BL UTIL_WaitTimeInUs
513
514
515 // Configure SDcard pins
516 PIO_Configure(pinsSd, PIO_LISTSIZE(pinsSd));
\ 00000064
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -