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

📄 os_view.lst

📁 lpc2478开发板基于IAR编译器移植ucos实验例程
💻 LST
📖 第 1 页 / 共 5 页
字号:
     72          #if OS_SEM_EN > 0

   \                                 In segment DATA_Z, align 4, align-sorted
     73          static  OS_EVENT  *OSView_Sem;
   \                     OSView_Sem:
   \   00000000                      DS8 4
     74          #endif
     75          
     76          #endif
     77          
     78          
     79          /*
     80          *********************************************************************************************************
     81          *                                      LOCAL FUNCTION PROTOTYPES
     82          *********************************************************************************************************
     83          */
     84          
     85          #if OS_VIEW_PARSE_TASK > 0
     86          static  void    OSView_InitOS(void);
     87          static  void    OSView_Task(void *p_arg);
     88          #endif
     89          
     90          static  INT8U   OSView_CmdParsePkt(void);
     91          static  void    OSView_CmdSendToApp(void);
     92          static  void    OSView_CmdGetSysInfo(void);
     93          static  void    OSView_CmdGetTaskList(void);
     94          static  void    OSView_CmdGetTaskInfo(void);
     95          static  void    OSView_CmdGetTaskInfo_InvalidTask(void);
     96          static  INT8U   OSView_CmdGetTaskInfo_TCBStat(OS_TCB *ptcb);
     97          static  void    OSView_CmdMemRdINT8U(void);
     98          static  void    OSView_CmdMemRdINT16U(void);
     99          static  void    OSView_CmdMemRdINT32U(void);
    100          static  void    OSView_CmdMemWrINT8U(void);
    101          static  void    OSView_CmdMemWrINT16U(void);
    102          static  void    OSView_CmdMemWrINT32U(void);
    103          static  void    OSView_CmdTickStep(void);
    104          static  void    OSView_CmdTrace(void);
    105          
    106          static  void    OSView_RxPkt(void);
    107          static  void    OSView_RxStoINT8U(INT8U rx_data);
    108          static  void    OSView_RxBufClr(void);
    109          static  INT8U   OSView_RxGetINT8U(void);
    110          static  INT16U  OSView_RxGetINT16U(void);
    111          static  INT32U  OSView_RxGetINT32U(void);
    112          
    113          static  void    OSView_TxStart(void);
    114          static  void    OSView_TxStoINT8U(INT8U tx_data);
    115          static  void    OSView_TxStoINT16U(INT16U tx_data);
    116          static  void    OSView_TxStoINT32U(INT32U tx_data);
    117          static  void    OSView_TxStoPtr(void *ptr);
    118          static  void    OSView_TxStoStr(INT8U *s, int max_len);
    119          
    120          /*$PAGE*/
    121          /*
    122          *********************************************************************************************************
    123          *                                       INITIALIZE uC/OS-View
    124          *********************************************************************************************************
    125          */
    126          

   \                                 In segment CODE, align 4, keep-with-next
    127          void  OSView_Init (INT32U baud_rate)
    128          {
   \                     OSView_Init:
   \   00000000   10402DE9           PUSH     {R4,LR}
   \   00000004   0040B0E1           MOVS     R4,R0
    129          #if OS_TICK_STEP_EN > 0
    130              OSTickStepState     = OS_TICK_STEP_DIS;                 /* Disable the tick stepping mode                  */
   \   00000008   ........           LDR      R0,??DataTable29  ;; OSTickStepState
   \   0000000C   0010A0E3           MOV      R1,#+0
   \   00000010   0010C0E5           STRB     R1,[R0, #+0]
    131          #endif
    132          
    133              OSView_CyclesCtr    = 0;
   \   00000014   ........           LDR      R0,??DataTable19  ;; OSView_CyclesCtr
   \   00000018   0010A0E3           MOV      R1,#+0
   \   0000001C   001080E5           STR      R1,[R0, #+0]
    134          
    135              OSView_RxState      = OS_VIEW_RX_STATE_SD0;             /* Setup Rx and Tx state machines                  */
   \   00000020   ........           LDR      R0,??DataTable40  ;; OSView_RxState
   \   00000024   0010A0E3           MOV      R1,#+0
   \   00000028   0010C0E5           STRB     R1,[R0, #+0]
    136              OSView_TxState      = OS_VIEW_TX_STATE_SD0;
   \   0000002C   ........           LDR      R0,??DataTable3  ;; OSView_TxState
   \   00000030   0010A0E3           MOV      R1,#+0
   \   00000034   0010C0E5           STRB     R1,[R0, #+0]
    137          
    138              OSView_TxLen        = 0;
   \   00000038   ........           LDR      R0,??DataTable11  ;; OSView_TxLen
   \   0000003C   0010A0E3           MOV      R1,#+0
   \   00000040   B010C0E1           STRH     R1,[R0, #+0]
    139              OSView_TxStrLen     = 0;
   \   00000044   ........           LDR      R0,??DataTable60  ;; OSView_TxStrLen
   \   00000048   0010A0E3           MOV      R1,#+0
   \   0000004C   B010C0E1           STRH     R1,[R0, #+0]
    140              OSView_TxActiveFlag = OS_FALSE;
   \   00000050   ........           LDR      R0,??DataTable61  ;; OSView_TxActiveFlag
   \   00000054   0010A0E3           MOV      R1,#+0
   \   00000058   0010C0E5           STRB     R1,[R0, #+0]
    141          
    142              OSView_TerminalRxSetCallback((void (*)(INT8U))0);       /* Force terminal callback function to 'nothing'   */
   \   0000005C   0000A0E3           MOV      R0,#+0
   \   00000060   ........           BL       OSView_TerminalRxSetCallback
    143          
    144              OSView_TmrCntsPrev  = 0;
   \   00000064   ........           LDR      R0,??DataTable16  ;; OSView_TmrCntsPrev
   \   00000068   0010A0E3           MOV      R1,#+0
   \   0000006C   001080E5           STR      R1,[R0, #+0]
    145          
    146          #if OS_VIEW_PARSE_TASK > 0
    147              OSView_InitOS();
   \   00000070   ........           BL       OSView_InitOS
    148          #endif
    149          
    150              OSView_InitTarget(baud_rate);                           /* Initialize target specific code                 */
   \   00000074   0400B0E1           MOVS     R0,R4
   \   00000078   ........           _BLF     OSView_InitTarget,??OSView_InitTarget??rA
    151          }
   \   0000007C   1080BDE8           POP      {R4,PC}          ;; return
    152          
    153          /*$PAGE*/
    154          /*
    155          *********************************************************************************************************
    156          *                             INITIALIZE THE uC/OS-View TASK AND OS OBJECTS
    157          *********************************************************************************************************
    158          */
    159          
    160          #if OS_VIEW_PARSE_TASK > 0

   \                                 In segment CODE, align 4, keep-with-next
    161          static  void  OSView_InitOS (void)
    162          {
   \                     OSView_InitOS:
   \   00000000   00402DE9           PUSH     {LR}
   \   00000004   04D04DE2           SUB      SP,SP,#+4
    163          #if OS_TASK_NAME_SIZE > 7 || OS_EVENT_NAME_SIZE > 7
    164              INT8U  err;
    165          #endif
    166          
    167          
    168          #if OS_SEM_EN > 0
    169              OSView_Sem = OSSemCreate(0);
   \   00000008   0000A0E3           MOV      R0,#+0
   \   0000000C   ........           _BLF     OSSemCreate,??OSSemCreate??rA
   \   00000010   ........           LDR      R1,??DataTable41  ;; OSView_Sem
   \   00000014   000081E5           STR      R0,[R1, #+0]
    170          #if OS_EVENT_NAME_SIZE > 17
    171              OSEventNameSet(OSView_Sem, (INT8U *)"uC/OS-View Signal", &err);
    172          #else
    173          #if OS_EVENT_NAME_SIZE > 7
    174              OSEventNameSet(OSView_Sem, (INT8U *)"OS-View", &err);
   \   00000018   0D20B0E1           MOVS     R2,SP
   \   0000001C   60109FE5           LDR      R1,??OSView_InitOS_0  ;; `?<Constant "OS-View">`
   \   00000020   ........           LDR      R0,??DataTable41  ;; OSView_Sem
   \   00000024   000090E5           LDR      R0,[R0, #+0]
   \   00000028   ........           _BLF     OSEventNameSet,??OSEventNameSet??rA
    175          #endif
    176          #endif
    177          #endif
    178          
    179          #if OS_TASK_CREATE_EXT_EN > 0
    180              #if OS_STK_GROWTH == 1
    181              (void)OSTaskCreateExt(OSView_Task,
    182                                    (void *)0,                                  /* No arguments passed to OSView_Task() */
    183                                    &OSView_TaskStk[OS_VIEW_TASK_STK_SIZE - 1], /* Set Top-Of-Stack                     */
    184                                    OS_VIEW_TASK_PRIO,                          /* Lowest priority level                */
    185                                    OS_VIEW_TASK_ID,
    186                                    &OSView_TaskStk[0],                         /* Set Bottom-Of-Stack                  */
    187                                    OS_VIEW_TASK_STK_SIZE,
    188                                    (void *)0,                                  /* No TCB extension                     */
    189                                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); /* Enable stack checking + clear stack  */
   \   0000002C   0300A0E3           MOV      R0,#+3
   \   00000030   01002DE9           PUSH     {R0}
   \   00000034   0000A0E3           MOV      R0,#+0
   \   00000038   01002DE9           PUSH     {R0}
   \   0000003C   800FA0E3           MOV      R0,#+512
   \   00000040   01002DE9           PUSH     {R0}
   \   00000044   3C009FE5           LDR      R0,??OSView_InitOS_0+0x4  ;; OSView_TaskStk
   \   00000048   01002DE9           PUSH     {R0}
   \   0000004C   0300A0E3           MOV      R0,#+3
   \   00000050   01002DE9           PUSH     {R0}
   \   00000054   0330A0E3           MOV      R3,#+3
   \   00000058   2C209FE5           LDR      R2,??OSView_InitOS_0+0x8  ;; OSView_TaskStk + 2044
   \   0000005C   0010A0E3           MOV      R1,#+0
   \   00000060   28009FE5           LDR      R0,??OSView_InitOS_0+0xC  ;; OSView_Task
   \   00000064   ........           _BLF     OSTaskCreateExt,??OSTaskCreateExt??rA
   \   00000068   14D08DE2           ADD      SP,SP,#+20       ;; stack cleaning
    190              #else
    191              (void)OSTaskCreateExt(OSView_Task,
    192                                    (void *)0,                                  /* No arguments passed to OSView_Task() */
    193                                    &OSView_TaskStk[0],                         /* Set Top-Of-Stack                     */
    194                                    OS_VIEW_TASK_PRIO,                          /* Lowest priority level                */
    195                                    OS_VIEW_TASK_ID,
    196                                    &OSView_TaskStk[OS_VIEW_TASK_STK_SIZE - 1], /* Set Bottom-Of-Stack                  */
    197                                    OS_VIEW_TASK_STK_SIZE,
    198                                    (void *)0,                                  /* No TCB extension                     */
    199                                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); /* Enable stack checking + clear stack  */
    200              #endif
    201          #else
    202              #if OS_STK_GROWTH == 1
    203              (void)OSTaskCreate(OSView_Task,
    204                                 (void *)0,
    205                                 &OSView_TaskStk[OS_VIEW_TASK_STK_SIZE - 1],
    206                                 OS_VIEW_TASK_PRIO);
    207              #else
    208              (void)OSTaskCreate(OSView_Task,
    209                                 (void *)0,
    210                                 &OSView_TaskStk[0],
    211                                 OS_VIEW_TASK_PRIO);
    212              #endif
    213          #endif
    214          
    215          #if OS_TASK_NAME_SIZE > 10
    216              OSTaskNameSet(OS_VIEW_TASK_PRIO, (INT8U *)"uC/OS-View", &err);
   \   0000006C   0D20B0E1           MOVS     R2,SP
   \   00000070   1C109FE5           LDR      R1,??OSView_InitOS_0+0x10  ;; `?<Constant "uC/OS-View">`
   \   00000074   0300A0E3           MOV      R0,#+3
   \   00000078   ........           _BLF     OSTaskNameSet,??OSTaskNameSet??rA
    217          #else
    218          #if OS_TASK_NAME_SIZE > 7
    219              OSTaskNameSet(OS_VIEW_TASK_PRIO, (INT8U *)"OS-View", &err);
    220          #endif
    221          #endif
    222          }
   \   0000007C   04D08DE2           ADD      SP,SP,#+4        ;; stack cleaning
   \   00000080   0080BDE8           POP      {PC}             ;; return
   \                     ??OSView_InitOS_0:
   \   00000084   ........           DC32     `?<Constant "OS-View">`

⌨️ 快捷键说明

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