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

📄 probe_rs232_os.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 2 页
字号:
    147              err = OSTaskCreateExt( ProbeRS232_OS_Task,
    148                                     (void *)0,
    149                                    &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],    /* Set Top-Of-Stack.                    */
    150                                     PROBE_RS232_TASK_PRIO,
    151                                     PROBE_RS232_TASK_PRIO,
    152                                    &ProbeRS232_OS_TaskStk[0],                                /* Set Bottom-Of-Stack.                 */
    153                                     PROBE_RS232_TASK_STK_SIZE,
    154                                     (void *)0,                                               /* No TCB extension.                    */
    155                                     OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);              /* Enable stack checking + clear stack. */
   \   00000016   0323               MOVS     R3,#+3
   \   00000018   0022               MOVS     R2,#+0
   \   0000001A   5FF48071           MOVS     R1,#+256
   \   0000001E   2000               MOVS     R0,R4
   \   00000020   001D               ADDS     R0,R0,#+4
   \   00000022   0FB4               PUSH     {R0-R3}
   \   00000024   0820               MOVS     R0,#+8
   \   00000026   01B4               PUSH     {R0}
   \   00000028   0346               MOV      R3,R0
   \   0000002A   14F58062           ADDS     R2,R4,#+1024
   \   0000002E   0021               MOVS     R1,#+0
   \   00000030   0648               LDR.N    R0,??ProbeRS232_OS_Init_0+0x4  ;; ProbeRS232_OS_Task
   \   00000032   ........           _BLF     OSTaskCreateExt,??OSTaskCreateExt??rT
   \   00000036   8DF81400           STRB     R0,[SP, #+20]
    156              #else
    157              err = OSTaskCreateExt( ProbeRS232_OS_Task,
    158                                     (void *)0,
    159                                    &ProbeRS232_OS_TaskStk[0],                                /* Set Top-Of-Stack.                    */
    160                                     PROBE_RS232_TASK_PRIO,
    161                                     PROBE_RS232_TASK_PRIO,
    162                                    &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],    /* Set Bottom-Of-Stack.                 */
    163                                     PROBE_RS232_TASK_STK_SIZE,
    164                                     (void *)0,                                               /* No TCB extension.                    */
    165                                     OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);              /* Enable stack checking + clear stack. */
    166              #endif
    167          #else
    168              #if (OS_STK_GROWTH == 1)
    169              err = OSTaskCreate( ProbeRS232_OS_Task,
    170                                  (void *)0,
    171                                 &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],
    172                                  PROBE_RS232_TASK_PRIO);
    173              #else
    174              err = OSTaskCreate( ProbeRS232_OS_Task,
    175                                  (void *)0,
    176                                 &ProbeRS232_OS_TaskStk[0],
    177                                  PROBE_RS232_TASK_PRIO);
    178              #endif
    179          #endif
    180          
    181          #if   (OS_TASK_NAME_SIZE > 13)
    182              OSTaskNameSet(PROBE_RS232_TASK_PRIO, (CPU_INT08U *)"Probe RS-232", &err);
   \   0000003A   05AA               ADD      R2,SP,#+20
   \   0000003C   2900               MOVS     R1,R5
   \   0000003E   0820               MOVS     R0,#+8
   \   00000040   ........           _BLF     OSTaskNameSet,??OSTaskNameSet??rT
    183          #endif
    184          }
   \   00000044   06B0               ADD      SP,SP,#+24
   \   00000046   30BD               POP      {R4,R5,PC}       ;; return
   \                     ??ProbeRS232_OS_Init_0:
   \   00000048   ........           DC32     `?<Constant "Probe RS-232">`
   \   0000004C   ........           DC32     ProbeRS232_OS_Task
    185          #endif
    186          
    187          
    188          /*
    189          *********************************************************************************************************
    190          *                                       ProbeRS232_OS_Pend()
    191          *
    192          * Description : Wait for a packet to be received.
    193          *
    194          * Argument(s) : none.
    195          *
    196          * Return(s)   : none.
    197          *
    198          * Caller(s)   : ProbeRS232_Task().
    199          *
    200          * Note(s)     : none.
    201          *********************************************************************************************************
    202          */
    203          
    204          #if (PROBE_RS232_PARSE_TASK == DEF_ENABLED)

   \                                 In segment CODE, align 4, keep-with-next
    205          void  ProbeRS232_OS_Pend (void)
    206          {
   \                     ProbeRS232_OS_Pend:
   \   00000000   01B5               PUSH     {R0,LR}
    207          #if (OS_SEM_EN > 0)
    208              CPU_INT08U  err;
    209          
    210          
    211              OSSemPend(ProbeRS232_OS_Sem, 0, &err);                          /* Wait for a packet to be received                     */
   \   00000002   6A46               MOV      R2,SP
   \   00000004   0021               MOVS     R1,#+0
   \   00000006   ....               LDR.N    R0,??DataTable2  ;; ProbeRS232_OS_Sem
   \   00000008   0068               LDR      R0,[R0, #+0]
   \   0000000A   ........           _BLF     OSSemPend,??OSSemPend??rT
    212          #endif
    213          }
   \   0000000E   01BD               POP      {R0,PC}          ;; return
    214          #endif
    215          
    216          
    217          /*
    218          *********************************************************************************************************
    219          *                                       ProbeRS232_OS_Post()
    220          *
    221          * Description : Notify a pending task that a packet has been receieved.
    222          *
    223          * Argument(s) : none.
    224          *
    225          * Return(s)   : none.
    226          *
    227          * Caller(s)   : ProbeRS232_RxPkt().
    228          *
    229          * Note(s)     : none.
    230          *********************************************************************************************************
    231          */
    232          
    233          #if (PROBE_RS232_PARSE_TASK == DEF_ENABLED)

   \                                 In segment CODE, align 4, keep-with-next
    234          void  ProbeRS232_OS_Post (void)
    235          {
   \                     ProbeRS232_OS_Post:
   \   00000000   00B5               PUSH     {LR}
    236          #if (OS_SEM_EN > 0)
    237              OSSemPost(ProbeRS232_OS_Sem);                                   /* A packet has been received                           */
   \   00000002   ....               LDR.N    R0,??DataTable2  ;; ProbeRS232_OS_Sem
   \   00000004   0068               LDR      R0,[R0, #+0]
   \   00000006   ........           _BLF     OSSemPost,??OSSemPost??rT
    238          #endif
    239          }
   \   0000000A   00BD               POP      {PC}             ;; return
    240          #endif
    241          
    242          
    243          /*
    244          *********************************************************************************************************
    245          *********************************************************************************************************
    246          **                                          LOCAL FUNCTIONS
    247          *********************************************************************************************************
    248          *********************************************************************************************************
    249          */
    250          
    251          /*
    252          *********************************************************************************************************
    253          *                                         ProbeRS232_OS_Task()
    254          *
    255          * Description : Task which waits for packets to be received, formalates responses, and begins transmission.
    256          *
    257          * Argument(s) : p_arg        Argument passed to ProbeRS232_OS_Task() by 'OSTaskCreate()'.
    258          *
    259          * Return(s)   : none.
    260          *
    261          * Caller(s)   : This is a task.
    262          *
    263          * Note(s)     : none.
    264          *********************************************************************************************************
    265          */
    266          
    267          #if (PROBE_RS232_PARSE_TASK == DEF_ENABLED)

   \                                 In segment CODE, align 4, keep-with-next
    268          static  void  ProbeRS232_OS_Task (void *p_arg)
    269          {
   \                     ProbeRS232_OS_Task:
   \   00000000   00B5               PUSH     {LR}
    270              ProbeRS232_Task(p_arg);
   \   00000002   ........           _BLF     ProbeRS232_Task,??ProbeRS232_Task??rT
    271          }
   \   00000006   00BD               POP      {PC}             ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable2:
   \   00000000   ........           DC32     ProbeRS232_OS_Sem

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "Probe RS-232">`:
   \   00000000   50726F626520       DC8 "Probe RS-232"
   \              52532D323332
   \              00          
   \   0000000D   000000             DC8 0, 0, 0
    272          #endif
    273          
    274          #endif

   Maximum stack usage in bytes:

     Function           CSTACK
     --------           ------
     ProbeRS232_OS_Init    36
     ProbeRS232_OS_Pend     8
     ProbeRS232_OS_Post     4
     ProbeRS232_OS_Task     4


   Segment part sizes:

     Function/Label             Bytes
     --------------             -----
     ProbeRS232_OS_Sem          1028
     ProbeRS232_OS_Init           80
     ProbeRS232_OS_Pend           16
     ProbeRS232_OS_Post           12
     ProbeRS232_OS_Task            8
     ??DataTable2                  4
     ?<Constant "Probe RS-232">   16
      Others                      76

 
   184 bytes in segment CODE
    16 bytes in segment DATA_C
 1 028 bytes in segment DATA_Z
    12 bytes in segment INITTAB
 
   120 bytes of CODE  memory (+ 76 bytes shared)
    16 bytes of CONST memory
 1 028 bytes of DATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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