wxl_osal_sampleapp.s51

来自「TI的基于ZIGBEE2006的协议栈」· S51 代码 · 共 565 行 · 第 1/2 页

S51
565
字号
        EXTERN Hal_Init
        FUNCTION Hal_Init,0602H
        EXTERN Hal_ProcessEvent
        FUNCTION Hal_ProcessEvent,0602H
        EXTERN MT_ProcessEvent
        FUNCTION MT_ProcessEvent,0602H
        EXTERN MT_TaskInit
        FUNCTION MT_TaskInit,0602H
        EXTERN WXL_SampleApp_Init
        FUNCTION WXL_SampleApp_Init,0602H
        EXTERN WXL_SampleApp_ProcessEvent
        FUNCTION WXL_SampleApp_ProcessEvent,0602H
        EXTERN ZDApp_Init
        FUNCTION ZDApp_Init,0602H
        EXTERN ZDApp_event_loop
        FUNCTION ZDApp_event_loop,0602H
        EXTERN macEventLoop
        FUNCTION macEventLoop,0602H
        EXTERN macTaskInit
        FUNCTION macTaskInit,0602H
        EXTERN nwk_event_loop
        FUNCTION nwk_event_loop,0602H
        EXTERN nwk_init
        FUNCTION nwk_init,0602H

// D:\#ZIGBEE开发之路\20081030101956Texas Instruments\Texas Instruments\Texas Instruments\ZStack-1.4.2\Projects\zstack\Samples\SampleApp\Source\WXL_OSAL_SampleApp.c
//    1 /******************************************************************************
//    2 *                                                                             *
//    3 *    ****       ******       ****
//    4 *     ****     ********     ****
//    5 *      ****   ****  ****   ****
//    6 *       **** ****    **** ****              wxl
//    7 *        *******      *******
//    8 *         *****        *****                    成都无线龙通讯科技有限公司
//    9 *                                                                             *
//   10 *******************************************************************************
//   11 
//   12 Filename:     WXL_OSAL_SampleApp.c            文 件 名:      WXL_OSAL_SampleApp.c
//   13 Target:       cc2430                          使用芯片:       cc2430
//   14 Author:       hxl                             程 序 员:      hxl
//   15 data:         19/08-2008                      日    期:      19/08-2008
//   16 ******************************************************************************/
//   17 
//   18 
//   19 /**********************************头文件**************************************/
//   20 #include "ZComDef.h"
//   21 #include "OSAL.h"
//   22 #include "OSAL_Tasks.h"
//   23 #include "OSAL_Custom.h"
//   24 
//   25 #if defined ( MT_TASK )
//   26   #include "MTEL.h"
//   27 #endif
//   28 
//   29 #if !defined( NONWK )
//   30   #include "nwk.h"
//   31   #include "APS.h"
//   32   #include "ZDApp.h"
//   33 #endif
//   34 
//   35 #include "WXL_SampleApp.h"
//   36 
//   37 #include "OnBoard.h"
//   38 
//   39 #include "hal_drivers.h"
//   40 /***********************************end***************************************/
//   41 
//   42 
//   43 /*********************************************************************
//   44  *函数
//   45  *********************************************************************/
//   46 
//   47 /*********************************************************************
//   48  * @fn      osalAddTasks
//   49  *
//   50  * @brief   这个函数的功能是将所有的任务添加到任务列表中.
//   51  *          添加一个新的任务.
//   52  *
//   53  * @param   void
//   54  *
//   55  * @return  none
//   56  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//   57 void osalAddTasks( void )
osalAddTasks:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function osalAddTasks
//   58 {
        FUNCALL osalAddTasks, osalTaskAdd
        LOCFRAME XSTACK, 14, STACK
        ARGFRAME XSTACK, 14, STACK
        FUNCALL osalAddTasks, osalTaskAdd
        LOCFRAME XSTACK, 14, STACK
        ARGFRAME XSTACK, 14, STACK
        FUNCALL osalAddTasks, osalTaskAdd
        LOCFRAME XSTACK, 14, STACK
        ARGFRAME XSTACK, 14, STACK
        FUNCALL osalAddTasks, osalTaskAdd
        LOCFRAME XSTACK, 14, STACK
        ARGFRAME XSTACK, 14, STACK
        FUNCALL osalAddTasks, osalTaskAdd
        LOCFRAME XSTACK, 14, STACK
        ARGFRAME XSTACK, 14, STACK
        FUNCALL osalAddTasks, osalTaskAdd
        LOCFRAME XSTACK, 14, STACK
        ARGFRAME XSTACK, 14, STACK
        FUNCALL osalAddTasks, osalTaskAdd
        LOCFRAME XSTACK, 14, STACK
        ARGFRAME XSTACK, 14, STACK
        MOV	A,#-0xb
        LCALL	?BANKED_ENTER_XDATA
        CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
        CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
        CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
        CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
        CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
        CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
        CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-7)))
        CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-8)))
        CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-9)))
        CFI VB load(1, XDATA, add(CFA_XSP16, literal(-10)))
        CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-11)))
        CFI CFA_SP SP+0
        CFI CFA_XSP16 add(XSP16, 11)
        ; Saved register size: 11
        ; Auto size: 0
//   59 
//   60 /*
//   61   Hal_Init() 这个任务必须首先添加,因为后面的任务中可能会使用到底层驱动
//   62 */
//   63   osalTaskAdd (Hal_Init, Hal_ProcessEvent, OSAL_TASK_PRIORITY_LOW);
        ; Setup parameters for call to function osalTaskAdd
        MOV	?V0 + 0,#(Hal_ProcessEvent & 0xff)
        MOV	?V0 + 1,#((Hal_ProcessEvent >> 8) & 0xff)
        MOV	?V0 + 2,#((Hal_ProcessEvent >> 16) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 14)
        MOV	R4,#0x32
        MOV	R1,#(Hal_Init & 0xff)
        MOV	R2,#((Hal_Init >> 8) & 0xff)
        MOV	R3,#((Hal_Init >> 16) & 0xff)
        MOV	DPTR,#(osalTaskAdd & 0xffff)
        MOV	A,#((osalTaskAdd >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,#0x3
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 11)
//   64 
//   65 #if defined( ZMAC_F8W )
//   66   osalTaskAdd( macTaskInit, macEventLoop, OSAL_TASK_PRIORITY_HIGH );
        ; Setup parameters for call to function osalTaskAdd
        MOV	?V0 + 0,#(macEventLoop & 0xff)
        MOV	?V0 + 1,#((macEventLoop >> 8) & 0xff)
        MOV	?V0 + 2,#((macEventLoop >> 16) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 14)
        MOV	R4,#-0x1a
        MOV	R1,#(macTaskInit & 0xff)
        MOV	R2,#((macTaskInit >> 8) & 0xff)
        MOV	R3,#((macTaskInit >> 16) & 0xff)
        MOV	DPTR,#(osalTaskAdd & 0xffff)
        MOV	A,#((osalTaskAdd >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,#0x3
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 11)
//   67 #endif
//   68 
//   69 #if defined( MT_TASK )
//   70   osalTaskAdd( MT_TaskInit, MT_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
        ; Setup parameters for call to function osalTaskAdd
        MOV	?V0 + 0,#(MT_ProcessEvent & 0xff)
        MOV	?V0 + 1,#((MT_ProcessEvent >> 8) & 0xff)
        MOV	?V0 + 2,#((MT_ProcessEvent >> 16) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 14)
        MOV	R4,#0x32
        MOV	R1,#(MT_TaskInit & 0xff)
        MOV	R2,#((MT_TaskInit >> 8) & 0xff)
        MOV	R3,#((MT_TaskInit >> 16) & 0xff)
        MOV	DPTR,#(osalTaskAdd & 0xffff)
        MOV	A,#((osalTaskAdd >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,#0x3
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 11)
//   71 #endif
//   72 
//   73   osalTaskAdd( nwk_init, nwk_event_loop, OSAL_TASK_PRIORITY_MED );
        ; Setup parameters for call to function osalTaskAdd
        MOV	?V0 + 0,#(nwk_event_loop & 0xff)
        MOV	?V0 + 1,#((nwk_event_loop >> 8) & 0xff)
        MOV	?V0 + 2,#((nwk_event_loop >> 16) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 14)
        MOV	R4,#-0x7e
        MOV	R1,#(nwk_init & 0xff)
        MOV	R2,#((nwk_init >> 8) & 0xff)
        MOV	R3,#((nwk_init >> 16) & 0xff)
        MOV	DPTR,#(osalTaskAdd & 0xffff)
        MOV	A,#((osalTaskAdd >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,#0x3
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 11)
//   74   osalTaskAdd( APS_Init, APS_event_loop, OSAL_TASK_PRIORITY_LOW );
        ; Setup parameters for call to function osalTaskAdd
        MOV	?V0 + 0,#(APS_event_loop & 0xff)
        MOV	?V0 + 1,#((APS_event_loop >> 8) & 0xff)
        MOV	?V0 + 2,#((APS_event_loop >> 16) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 14)
        MOV	R4,#0x32
        MOV	R1,#(APS_Init & 0xff)
        MOV	R2,#((APS_Init >> 8) & 0xff)
        MOV	R3,#((APS_Init >> 16) & 0xff)
        MOV	DPTR,#(osalTaskAdd & 0xffff)
        MOV	A,#((osalTaskAdd >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,#0x3
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 11)
//   75   osalTaskAdd( ZDApp_Init, ZDApp_event_loop, OSAL_TASK_PRIORITY_LOW );
        ; Setup parameters for call to function osalTaskAdd
        MOV	?V0 + 0,#(ZDApp_event_loop & 0xff)
        MOV	?V0 + 1,#((ZDApp_event_loop >> 8) & 0xff)
        MOV	?V0 + 2,#((ZDApp_event_loop >> 16) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 14)
        MOV	R4,#0x32
        MOV	R1,#(ZDApp_Init & 0xff)
        MOV	R2,#((ZDApp_Init >> 8) & 0xff)
        MOV	R3,#((ZDApp_Init >> 16) & 0xff)
        MOV	DPTR,#(osalTaskAdd & 0xffff)
        MOV	A,#((osalTaskAdd >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,#0x3
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 11)
//   76 
//   77   osalTaskAdd( WXL_SampleApp_Init, WXL_SampleApp_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
        ; Setup parameters for call to function osalTaskAdd
        MOV	?V0 + 0,#(WXL_SampleApp_ProcessEvent & 0xff)
        MOV	?V0 + 1,#((WXL_SampleApp_ProcessEvent >> 8) & 0xff)
        MOV	?V0 + 2,#((WXL_SampleApp_ProcessEvent >> 16) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 14)
        MOV	R4,#0x32
        MOV	R1,#(WXL_SampleApp_Init & 0xff)
        MOV	R2,#((WXL_SampleApp_Init >> 8) & 0xff)
        MOV	R3,#((WXL_SampleApp_Init >> 16) & 0xff)
        MOV	DPTR,#(osalTaskAdd & 0xffff)
        MOV	A,#((osalTaskAdd >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        MOV	A,#0x3
        LCALL	?DEALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 11)
//   78 }
        MOV	R7,#0x3
        LJMP	?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock0

        END
//   79 
//   80 /*********************************************************************
//   81 *********************************************************************/
// 
// 255 bytes in segment BANKED_CODE
// 
// 255 bytes of CODE memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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