📄 swi_handler_user.lst
字号:
556:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
557:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PIO_CfgDirectDrive(
558:./common/lib_AT91SAM7A3.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
559:./common/lib_AT91SAM7A3.h **** unsigned int directDrive) // \arg PIO to be configured with direct drive
560:./common/lib_AT91SAM7A3.h ****
561:./common/lib_AT91SAM7A3.h **** {
562:./common/lib_AT91SAM7A3.h **** // Configure the Direct Drive
563:./common/lib_AT91SAM7A3.h **** pPio->PIO_OWDR = ~directDrive;
564:./common/lib_AT91SAM7A3.h **** pPio->PIO_OWER = directDrive;
565:./common/lib_AT91SAM7A3.h **** }
566:./common/lib_AT91SAM7A3.h ****
567:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
568:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PIO_CfgInputFilter
569:./common/lib_AT91SAM7A3.h **** //* \brief Enable input filter on input PIO
570:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
571:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PIO_CfgInputFilter(
572:./common/lib_AT91SAM7A3.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
573:./common/lib_AT91SAM7A3.h **** unsigned int inputFilter) // \arg PIO to be configured with input filter
574:./common/lib_AT91SAM7A3.h ****
575:./common/lib_AT91SAM7A3.h **** {
576:./common/lib_AT91SAM7A3.h **** // Configure the Direct Drive
577:./common/lib_AT91SAM7A3.h **** pPio->PIO_IFDR = ~inputFilter;
578:./common/lib_AT91SAM7A3.h **** pPio->PIO_IFER = inputFilter;
579:./common/lib_AT91SAM7A3.h **** }
580:./common/lib_AT91SAM7A3.h ****
581:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
582:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PIO_GetInput
583:./common/lib_AT91SAM7A3.h **** //* \brief Return PIO input value
584:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
585:./common/lib_AT91SAM7A3.h **** __inline unsigned int AT91F_PIO_GetInput( // \return PIO input
586:./common/lib_AT91SAM7A3.h **** AT91PS_PIO pPio) // \arg pointer to a PIO controller
587:./common/lib_AT91SAM7A3.h **** {
588:./common/lib_AT91SAM7A3.h **** return pPio->PIO_PDSR;
38 .loc 2 588 0 39 0010 0E49 ldr r1, .L12 40 .LVL3: 41 0012 CB6B ldr r3, [r1, #60] 42 .LVL4: 43 .LBE15: 44 .LBE14: 17:swi_handler_user.c **** case 0x10 :
18:swi_handler_user.c **** // toogle LED2
19:swi_handler_user.c **** if ((AT91F_PIO_GetInput(AT91C_BASE_PIOA) & LED2 ) == LED2 ) {
45 .loc 1 19 0 46 0014 4022 mov r2, #64 47 .LVL5: 48 0016 1342 tst r3, r2 49 0018 02D0 beq .L7 50 .LBB16: 51 .LBB17: 589:./common/lib_AT91SAM7A3.h **** }
590:./common/lib_AT91SAM7A3.h ****
591:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
592:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PIO_IsInputSet
593:./common/lib_AT91SAM7A3.h **** //* \brief Test if PIO is input flag is active
594:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
595:./common/lib_AT91SAM7A3.h **** __inline int AT91F_PIO_IsInputSet(
596:./common/lib_AT91SAM7A3.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
597:./common/lib_AT91SAM7A3.h **** unsigned int flag) // \arg flag to be tested
598:./common/lib_AT91SAM7A3.h **** {
599:./common/lib_AT91SAM7A3.h **** return (AT91F_PIO_GetInput(pPio) & flag);
600:./common/lib_AT91SAM7A3.h **** }
601:./common/lib_AT91SAM7A3.h ****
602:./common/lib_AT91SAM7A3.h ****
603:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
604:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PIO_SetOutput
605:./common/lib_AT91SAM7A3.h **** //* \brief Set to 1 output PIO
606:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
607:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PIO_SetOutput(
608:./common/lib_AT91SAM7A3.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
609:./common/lib_AT91SAM7A3.h **** unsigned int flag) // \arg output to be set
610:./common/lib_AT91SAM7A3.h **** {
611:./common/lib_AT91SAM7A3.h **** pPio->PIO_SODR = flag;
612:./common/lib_AT91SAM7A3.h **** }
613:./common/lib_AT91SAM7A3.h ****
614:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
615:./common/lib_AT91SAM7A3.h **** //* \fn AT91F_PIO_ClearOutput
616:./common/lib_AT91SAM7A3.h **** //* \brief Set to 0 output PIO
617:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
618:./common/lib_AT91SAM7A3.h **** __inline void AT91F_PIO_ClearOutput(
619:./common/lib_AT91SAM7A3.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
620:./common/lib_AT91SAM7A3.h **** unsigned int flag) // \arg output to be cleared
621:./common/lib_AT91SAM7A3.h **** {
622:./common/lib_AT91SAM7A3.h **** pPio->PIO_CODR = flag;
52 .loc 2 622 0 53 001a 4A63 str r2, [r1, #52] 54 001c 0C48 ldr r0, .L12+4 55 .LVL6: 56 001e 14E0 b .L6 57 .LVL7: 58 .L7: 59 .LBE17: 60 .LBE16: 61 .LBB18: 62 .LBB19: 63 .loc 2 611 0 64 0020 4022 mov r2, #64 65 0022 0A4B ldr r3, .L12 66 0024 1A63 str r2, [r3, #48] 67 0026 0A48 ldr r0, .L12+4 68 .LVL8: 69 0028 0FE0 b .L6 70 .LVL9: 71 .L4: 72 .LBE19: 73 .LBE18: 74 .LBB20: 75 .LBB21: 76 .loc 2 588 0 77 002a 0849 ldr r1, .L12 78 .LVL10: 79 002c CB6B ldr r3, [r1, #60] 80 .LVL11: 81 .LBE21: 82 .LBE20: 20:swi_handler_user.c **** AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED2 );
21:swi_handler_user.c **** }
22:swi_handler_user.c **** else {
23:swi_handler_user.c **** AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED2 );
24:swi_handler_user.c **** }
25:swi_handler_user.c **** res = 0xfefefefe;
26:swi_handler_user.c **** break;
27:swi_handler_user.c **** case 0x11 :
28:swi_handler_user.c **** #ifdef LED3
29:swi_handler_user.c **** // toogle LED3
30:swi_handler_user.c **** if ((AT91F_PIO_GetInput(AT91C_BASE_PIOA) & LED3 ) == LED3 ) {
83 .loc 1 30 0 84 002e 8022 mov r2, #128 85 .LVL12: 86 0030 5201 lsl r2, r2, #5 87 0032 1342 tst r3, r2 88 0034 02D0 beq .L9 89 .LBB22: 90 .LBB23: 91 .loc 2 622 0 92 0036 4A63 str r2, [r1, #52] 93 0038 0648 ldr r0, .L12+8 94 .LVL13: 95 003a 06E0 b .L6 96 .LVL14: 97 .L9: 98 .LBE23: 99 .LBE22: 100 .LBB24: 101 .LBB25: 102 .loc 2 611 0 103 003c 8023 mov r3, #128 104 003e 5B01 lsl r3, r3, #5 105 0040 024A ldr r2, .L12 106 0042 1363 str r3, [r2, #48] 107 0044 0348 ldr r0, .L12+8 108 .LVL15: 109 0046 00E0 b .L6 110 .LVL16: 111 .L5: 112 .LBE25: 113 .LBE24: 31:swi_handler_user.c **** AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED3 );
32:swi_handler_user.c **** }
33:swi_handler_user.c **** else {
34:swi_handler_user.c **** AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED3 );
35:swi_handler_user.c **** }
36:swi_handler_user.c **** #endif
37:swi_handler_user.c **** res = 0xdeadbeef;
38:swi_handler_user.c **** break;
39:swi_handler_user.c **** case 0x12 :
40:swi_handler_user.c **** res = reg0 + 1;
114 .loc 1 40 0 115 0048 0130 add r0, r0, #1 116 .LVL17: 117 .L6: 118 .LVL18: 41:swi_handler_user.c **** break;
42:swi_handler_user.c **** default :
43:swi_handler_user.c **** break;
44:swi_handler_user.c **** } /* switch */
45:swi_handler_user.c ****
46:swi_handler_user.c **** return res;
47:swi_handler_user.c **** }
119 .loc 1 47 0 120 @ sp needed for prologue 121 004a 7047 bx lr 122 .L13: 123 .align 2 124 .L12: 125 004c 00F4FFFF .word -3072 126 0050 FEFEFEFE .word -16843010 127 0054 EFBEADDE .word -559038737 128 .LFE378: 155 .Letext0:DEFINED SYMBOLS *ABS*:00000000 swi_handler_user.c /tmp/ccRXp28O.s:1 .text:00000000 $t /tmp/ccRXp28O.s:17 .text.SWI_Handler_User:00000000 SWI_Handler_User /tmp/ccRXp28O.s:14 .text.SWI_Handler_User:00000000 $t /tmp/ccRXp28O.s:125 .text.SWI_Handler_User:0000004c $dNO UNDEFINED SYMBOLS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -