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

📄 led.lst

📁 Tried to make CAN logger on AT91sam7X-ek, but have no idea how to implement FATFs... -( I m just a
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   00000008   0000A023           MOVCS    R0,#+0
   \   0000000C   0C00002A           BCS      ??LED_Set_0
     85              }
     86          
     87              // Turn LED on
     88              if (pinsLeds[led].type == PIO_OUTPUT_0) {
   \   00000010   0C10A0E3           MOV      R1,#+12
   \   00000014   ........           LDR      R2,??DataTable6  ;; pinsLeds
   \   00000018   912022E0           MLA      R2,R1,R0,R2
   \   0000001C   0910D2E5           LDRB     R1,[R2, #+9]
   \   00000020   030051E3           CMP      R1,#+3
   \   00000024   0C10A0E3           MOV      R1,#+12
   \   00000028   ........           LDR      R2,??DataTable6  ;; pinsLeds
   \   0000002C   912020E0           MLA      R0,R1,R0,R2
   \   00000030   0100001A           BNE      ??LED_Set_1
     89          
     90                  PIO_Set(&pinsLeds[led]);
   \   00000034   ........           BL       PIO_Set
   \   00000038   000000EA           B        ??LED_Set_2
     91              }
     92              else {
     93          
     94                  PIO_Clear(&pinsLeds[led]);
   \                     ??LED_Set_1:
   \   0000003C   ........           BL       PIO_Clear
     95              }
     96          
     97              return 1;
   \                     ??LED_Set_2:
   \   00000040   0100A0E3           MOV      R0,#+1
   \                     ??LED_Set_0:
   \   00000044   0240BDE8           POP      {R1,LR}
   \   00000048   1EFF2FE1           BX       LR               ;; return
     98          #else
     99              return 0;
    100          #endif
    101          }
    102          
    103          //------------------------------------------------------------------------------
    104          /// Turns a LED off.
    105          /// \param led  Number of the LED to turn off.
    106          /// \param 1 if the LED has been turned off; 0 otherwise.
    107          //------------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
    108          unsigned char LED_Clear(unsigned int led)
    109          {
   \                     LED_Clear:
   \   00000000   00502DE9           PUSH     {R12,LR}
    110          #ifdef PINS_LEDS
    111              // Check if LED exists
    112              if (led >= numLeds) {
   \   00000004   040050E3           CMP      R0,#+4
    113          
    114                  return 0;
   \   00000008   0000A023           MOVCS    R0,#+0
   \   0000000C   0C00002A           BCS      ??LED_Clear_0
    115              }
    116          
    117              // Turn LED off
    118              if (pinsLeds[led].type == PIO_OUTPUT_0) {
   \   00000010   0C10A0E3           MOV      R1,#+12
   \   00000014   ........           LDR      R2,??DataTable6  ;; pinsLeds
   \   00000018   912022E0           MLA      R2,R1,R0,R2
   \   0000001C   0910D2E5           LDRB     R1,[R2, #+9]
   \   00000020   030051E3           CMP      R1,#+3
   \   00000024   0C10A0E3           MOV      R1,#+12
   \   00000028   ........           LDR      R2,??DataTable6  ;; pinsLeds
   \   0000002C   912020E0           MLA      R0,R1,R0,R2
   \   00000030   0100001A           BNE      ??LED_Clear_1
    119          
    120                  PIO_Clear(&pinsLeds[led]);
   \   00000034   ........           BL       PIO_Clear
   \   00000038   000000EA           B        ??LED_Clear_2
    121              }
    122              else {
    123          
    124                  PIO_Set(&pinsLeds[led]);
   \                     ??LED_Clear_1:
   \   0000003C   ........           BL       PIO_Set
    125              }
    126          
    127              return 1;
   \                     ??LED_Clear_2:
   \   00000040   0100A0E3           MOV      R0,#+1
   \                     ??LED_Clear_0:
   \   00000044   0240BDE8           POP      {R1,LR}
   \   00000048   1EFF2FE1           BX       LR               ;; return
    128          #else
    129              return 0;
    130          #endif
    131          }
    132          
    133          //------------------------------------------------------------------------------
    134          /// Toggles the current state of a LED.
    135          /// \param led  Number of the LED to toggle.
    136          /// \return 1 if the LED has been toggled; otherwise 0.
    137          //------------------------------------------------------------------------------

   \                                 In section .text, align 4, keep-with-next
    138          unsigned char LED_Toggle(unsigned int led)
    139          {
   \                     LED_Toggle:
   \   00000000   10402DE9           PUSH     {R4,LR}
   \   00000004   0040A0E1           MOV      R4,R0
    140          #ifdef PINS_LEDS
    141              // Check if LED exists
    142              if (led >= numLeds) {
   \   00000008   040054E3           CMP      R4,#+4
    143          
    144                  return 0;
   \   0000000C   0000A023           MOVCS    R0,#+0
   \   00000010   0C00002A           BCS      ??LED_Toggle_0
    145              }
    146          
    147              // Toggle LED
    148              if (PIO_GetOutputDataStatus(&pinsLeds[led])) {
   \   00000014   0C10A0E3           MOV      R1,#+12
   \   00000018   ........           LDR      R0,??DataTable6  ;; pinsLeds
   \   0000001C   910420E0           MLA      R0,R1,R4,R0
   \   00000020   ........           BL       PIO_GetOutputDataStatus
   \   00000024   000050E3           CMP      R0,#+0
   \   00000028   0C10A0E3           MOV      R1,#+12
   \   0000002C   ........           LDR      R0,??DataTable6  ;; pinsLeds
   \   00000030   910420E0           MLA      R0,R1,R4,R0
   \   00000034   0100000A           BEQ      ??LED_Toggle_1
    149          
    150                  PIO_Clear(&pinsLeds[led]);
   \   00000038   ........           BL       PIO_Clear
   \   0000003C   000000EA           B        ??LED_Toggle_2
    151              }
    152              else {
    153          
    154                  PIO_Set(&pinsLeds[led]);
   \                     ??LED_Toggle_1:
   \   00000040   ........           BL       PIO_Set
    155              }
    156          
    157              return 1;
   \                     ??LED_Toggle_2:
   \   00000044   0100A0E3           MOV      R0,#+1
   \                     ??LED_Toggle_0:
   \   00000048   1040BDE8           POP      {R4,LR}
   \   0000004C   1EFF2FE1           BX       LR               ;; return
    158          #else
    159              return 0;
    160          #endif
    161          }

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable6:
   \   00000000   ........           DC32     pinsLeds
    162          

   Maximum stack usage in bytes:

     Function      .cstack
     --------      -------
     LED_Clear          0
     LED_Configure      0
     LED_Set            0
     LED_Toggle         0


   Section sizes:

     Function/Label Bytes
     -------------- -----
     pinsLeds         48
     LED_Configure    44
     LED_Set          76
     LED_Clear        76
     LED_Toggle       80
     ??DataTable6      4

 
  48 bytes in section .rodata
 280 bytes in section .text
 
 280 bytes of CODE  memory
  48 bytes of CONST memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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