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

📄 flash.lst

📁 本代码已经经过修改
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   00000010   311C               MOV         R1,R6
   \   00000012   281C               MOV         R0,R5
   \   00000014   ........           _BLF        xTaskCreate,xTaskCreate??rT
   \   00000018   0021               MOV         R1,#+0
   \   0000001A   201C               MOV         R0,R4
   \   0000001C   03B4               PUSH        {R0,R1}
   \   0000001E   0B1C               MOV         R3,R1
   \   00000020   6422               MOV         R2,#+0x64
   \   00000022   311C               MOV         R1,R6
   \   00000024   281C               MOV         R0,R5
   \   00000026   ........           _BLF        xTaskCreate,xTaskCreate??rT
   \   0000002A   0020               MOV         R0,#+0
   \   0000002C   01B4               PUSH        {R0}
   \   0000002E   10B4               PUSH        {R4}
   \   00000030   031C               MOV         R3,R0
   \   00000032   6422               MOV         R2,#+0x64
   \   00000034   311C               MOV         R1,R6
   \   00000036   281C               MOV         R0,R5
   \   00000038   ........           _BLF        xTaskCreate,xTaskCreate??rT
     93          	}
     94          }
   \   0000003C   06B0               ADD         SP,#+0x18
   \   0000003E   70BC               POP         {R4-R6}
   \   00000040   01BC               POP         {R0}
   \   00000042   0047               BX          R0                 ;; return
   \                     ??vStartLEDFlashTasks_0:
   \   00000044   ........           DC32        ??vLEDFlashTask
   \   00000048   ........           DC32        `?<Constant "LEDx">`
     95          /*-----------------------------------------------------------*/
     96          

   \                                 In segment CODE, align 4, keep-with-next
     97          static portTASK_FUNCTION( vLEDFlashTask, pvParameters )
     98          {
   \                     ??vLEDFlashTask:
   \   00000000   30B5               PUSH        {R4,R5,LR}
   \   00000002   81B0               SUB         SP,#+0x4
     99          portTickType xFlashRate, xLastFlashTime;
    100          unsigned portBASE_TYPE uxLED;
    101          
    102          	/* The parameters are not used. */
    103          	( void ) pvParameters;
    104          
    105          	/* Calculate the LED and flash rate. */
    106          	portENTER_CRITICAL();
   \   00000004   ........           _BLF        vPortEnterCritical,vPortEnterCritical??rT
    107          	{
    108          		/* See which of the eight LED's we should use. */
    109          		uxLED = uxFlashTaskNumber;
   \   00000008   0F48               LDR         R0,??vLEDFlashTask_1  ;; ??uxFlashTaskNumber
   \   0000000A   0468               LDR         R4,[R0, #+0]
    110          
    111          		/* Update so the next task uses the next LED. */
    112          		uxFlashTaskNumber++;
   \   0000000C   0168               LDR         R1,[R0, #+0]
   \   0000000E   491C               ADD         R1,R1,#+0x1
   \   00000010   0160               STR         R1,[R0, #+0]
    113          	}
    114          	portEXIT_CRITICAL();
   \   00000012   ........           _BLF        vPortExitCritical,vPortExitCritical??rT
    115          
    116          	xFlashRate = ledFLASH_RATE_BASE + ( ledFLASH_RATE_BASE * ( portTickType ) uxLED );
    117          	xFlashRate /= portTICK_RATE_MS;
    118          
    119          	/* We will turn the LED on and off again in the delay period, so each
    120          	delay is only half the total period. */
    121          	xFlashRate /= ( portTickType ) 2;
   \   00000016   FF20               MOV         R0,#+0xFF
   \   00000018   4E30               ADD         R0,#+0x4E          ;; #+0x14D
   \   0000001A   211C               MOV         R1,R4
   \   0000001C   4143               MUL         R1,R0
   \   0000001E   0818               ADD         R0,R1,R0
   \   00000020   4508               LSR         R5,R0,#+0x1
    122          
    123          	/* We need to initialise xLastFlashTime prior to the first call to 
    124          	vTaskDelayUntil(). */
    125          	xLastFlashTime = xTaskGetTickCount();
   \   00000022   ........           _BLF        xTaskGetTickCount,xTaskGetTickCount??rT
   \   00000026   0090               STR         R0,[SP, #+0]
    126          
    127          	for(;;)
    128          	{
    129          		/* Delay for half the flash period then turn the LED on. */
    130          		vTaskDelayUntil( &xLastFlashTime, xFlashRate );
   \                     ??vLEDFlashTask_2:
   \   00000028   291C               MOV         R1,R5
   \   0000002A   6846               MOV         R0,SP
   \   0000002C   ........           _BLF        vTaskDelayUntil,vTaskDelayUntil??rT
    131          		vParTestToggleLED( uxLED );
   \   00000030   201C               MOV         R0,R4
   \   00000032   ........           _BLF        vParTestToggleLED,vParTestToggleLED??rT
    132          
    133          		/* Delay for half the flash period then turn the LED off. */
    134          		vTaskDelayUntil( &xLastFlashTime, xFlashRate );
   \   00000036   291C               MOV         R1,R5
   \   00000038   6846               MOV         R0,SP
   \   0000003A   ........           _BLF        vTaskDelayUntil,vTaskDelayUntil??rT
    135          		vParTestToggleLED( uxLED );
   \   0000003E   201C               MOV         R0,R4
   \   00000040   ........           _BLF        vParTestToggleLED,vParTestToggleLED??rT
   \   00000044   F0E7               B           ??vLEDFlashTask_2
   \   00000046   C046               NOP         
   \                     ??vLEDFlashTask_1:
   \   00000048   ........           DC32        ??uxFlashTaskNumber
    136          	}
    137          } /*lint !e715 !e818 !e830 Function definition must be standard for task creation. */

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "LEDx">`:
   \   00000000   4C45447800         DC8 "LEDx"
   \   00000005   000000             DC8 0, 0, 0
    138          

   Maximum stack usage in bytes:

     Function            CSTACK
     --------            ------
     vLEDFlashTask          16
     vStartLEDFlashTasks    40


   Segment part sizes:

     Function/Label      Bytes
     --------------      -----
     uxFlashTaskNumber      4
     vStartLEDFlashTasks   76
     vLEDFlashTask         76
     ?<Constant "LEDx">     8
      Others               84

 
 224 bytes in segment CODE
   8 bytes in segment DATA_C
   4 bytes in segment DATA_Z
  12 bytes in segment INITTAB
 
 152 bytes of CODE  memory (+ 84 bytes shared)
   8 bytes of CONST memory
   4 bytes of DATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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