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

📄 probe_rs232_os.lst

📁 针对STM32F103的UCOS移植
💻 LST
📖 第 1 页 / 共 2 页
字号:
    141          #endif
    142          
    143          #if (OS_TASK_CREATE_EXT_EN > 0)
    144              #if (OS_STK_GROWTH == 1)
    145              (void)OSTaskCreateExt(ProbeRS232_OS_Task,
    146                                    (void *)0,                                            /* No arguments passed to OSView_Task()     */
    147                                    &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],/* Set Top-Of-Stack                         */
    148                                    PROBE_RS232_TASK_PRIO,                                /* Lowest priority level                    */
    149                                    PROBE_RS232_TASK_PRIO,
    150                                    &ProbeRS232_OS_TaskStk[0],                            /* Set Bottom-Of-Stack                      */
    151                                    PROBE_RS232_TASK_STK_SIZE,
    152                                    (void *)0,                                            /* No TCB extension                         */
    153                                    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   0720               MOVS     R0,#+7
   \   00000026   01B4               PUSH     {R0}
   \   00000028   0346               MOV      R3,R0
   \   0000002A   14F58062           ADDS     R2,R4,#+1024
   \   0000002E   0021               MOVS     R1,#+0
   \   00000030   0548               LDR.N    R0,??ProbeRS232_OS_Init_0+0x4  ;; ProbeRS232_OS_Task
   \   00000032   ........           _BLF     OSTaskCreateExt,??OSTaskCreateExt??rT
    154              #else
    155              (void)OSTaskCreateExt(ProbeRS232_OS_Task,
    156                                    (void *)0,                                            /* No arguments passed to OSView_Task()     */
    157                                    &ProbeRS232_OS_TaskStk[0],                            /* Set Top-Of-Stack                         */
    158                                    PROBE_RS232_TASK_PRIO,                                /* Lowest priority level                    */
    159                                    PROBE_RS232_TASK_PRIO,
    160                                    &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],/* Set Bottom-Of-Stack                      */
    161                                    PROBE_RS232_TASK_STK_SIZE,
    162                                    (void *)0,                                            /* No TCB extension                         */
    163                                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);           /* Enable stack checking + clear stack      */
    164              #endif
    165          #else
    166              #if (OS_STK_GROWTH == 1)
    167              (void)OSTaskCreate(ProbeRS232_OS_Task,
    168                                 (void *)0,
    169                                 &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],
    170                                 PROBE_RS232_TASK_PRIO);
    171              #else
    172              (void)OSTaskCreate(ProbeRS232_OS_Task,
    173                                 (void *)0,
    174                                 &ProbeRS232_OS_TaskStk[0],
    175                                 PROBE_RS232_TASK_PRIO);
    176              #endif
    177          #endif
    178          
    179          #if (OS_TASK_NAME_SIZE > 16)
    180              OSTaskNameSet(PROBE_RS232_TASK_PRIO, (CPU_INT08U *)"uC/Probe RS-232", &err);
    181          #else
    182          #if (OS_TASK_NAME_SIZE > 13)
    183              OSTaskNameSet(PROBE_RS232_TASK_PRIO, (CPU_INT08U *)"Probe RS-232", &err);
   \   00000036   05AA               ADD      R2,SP,#+20
   \   00000038   2900               MOVS     R1,R5
   \   0000003A   0720               MOVS     R0,#+7
   \   0000003C   ........           _BLF     OSTaskNameSet,??OSTaskNameSet??rT
    184          #endif
    185          #endif
    186          }
   \   00000040   06B0               ADD      SP,SP,#+24
   \   00000042   30BD               POP      {R4,R5,PC}       ;; return
   \                     ??ProbeRS232_OS_Init_0:
   \   00000044   ........           DC32     `?<Constant "Probe RS-232">`
   \   00000048   ........           DC32     ProbeRS232_OS_Task
    187          #endif
    188          
    189          
    190          /*
    191          *********************************************************************************************************
    192          *                                       Wait for a Packet
    193          *
    194          * Description: This function causes the calling task to wait for a packet to be received.
    195          *
    196          * Argument(s): None
    197          *
    198          * Returns    : None
    199          *********************************************************************************************************
    200          */
    201          
    202          #if (PROBE_RS232_PARSE_TASK > 0)

   \                                 In segment CODE, align 4, keep-with-next
    203          void  ProbeRS232_OS_Pend (void)
    204          {
   \                     ProbeRS232_OS_Pend:
   \   00000000   01B5               PUSH     {R0,LR}
    205          #if (OS_SEM_EN > 0)
    206              CPU_INT08U  err;
    207          
    208          
    209              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
    210          #endif
    211          }
   \   0000000E   01BD               POP      {R0,PC}          ;; return
    212          #endif
    213          
    214          
    215          /*
    216          *********************************************************************************************************
    217          *                                       Notify Packet Reception
    218          *
    219          * Description: This function notifies a pending task that a packet has been receieved.
    220          *
    221          * Argument(s): None
    222          *
    223          * Returns    : None
    224          *********************************************************************************************************
    225          */
    226          
    227          #if (PROBE_RS232_PARSE_TASK > 0) && (OS_SEM_EN > 0)

   \                                 In segment CODE, align 4, keep-with-next
    228          void  ProbeRS232_OS_Post (void)
    229          {
   \                     ProbeRS232_OS_Post:
   \   00000000   00B5               PUSH     {LR}
    230          #if (OS_SEM_EN > 0)
    231              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
    232          #endif
    233          }
   \   0000000A   00BD               POP      {PC}             ;; return
    234          #endif
    235          
    236          
    237          /*
    238          *********************************************************************************************************
    239          *********************************************************************************************************
    240          **                                          LOCAL FUNCTIONS
    241          *********************************************************************************************************
    242          *********************************************************************************************************
    243          */
    244          
    245          /*
    246          *********************************************************************************************************
    247          *                                             uC/OS-II Task
    248          *
    249          * Description: This task waits for packets to be received, formalates responses, and begins transmission.
    250          *
    251          * Argument(s): p_arg    is the argument passed to ProbeRS232_OS_Task() by 'OSTaskCreate()'.
    252          *
    253          * Returns    : None
    254          *********************************************************************************************************
    255          */
    256          
    257          #if (PROBE_RS232_PARSE_TASK > 0)

   \                                 In segment CODE, align 4, keep-with-next
    258          static  void  ProbeRS232_OS_Task (void *p_arg)
    259          {
   \                     ProbeRS232_OS_Task:
   \   00000000   00B5               PUSH     {LR}
    260              ProbeRS232_Task(p_arg);
   \   00000002   ........           _BLF     ProbeRS232_Task,??ProbeRS232_Task??rT
    261          }
   \   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
    262          #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           76
     ProbeRS232_OS_Pend           16
     ProbeRS232_OS_Post           12
     ProbeRS232_OS_Task            8
     ??DataTable2                  4
     ?<Constant "Probe RS-232">   16
      Others                      76

 
   180 bytes in segment CODE
    16 bytes in segment DATA_C
 1 028 bytes in segment DATA_Z
    12 bytes in segment INITTAB
 
   116 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 + -