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

📄 osal_sampleapp.s51

📁 用IAR开发的ZIGBEE网络路由例子
💻 S51
📖 第 1 页 / 共 2 页
字号:
//    9     the user should set and change.
//   10 
//   11     Notes:
//   12 
//   13     Copyright (c) 2007 by Texas Instruments, Inc.
//   14     All Rights Reserved.  Permission to use, reproduce, copy, prepare
//   15     derivative works, modify, distribute, perform, display or sell this
//   16     software and/or its documentation for any purpose is prohibited
//   17     without the express written consent of Texas Instruments, Inc.
//   18 *********************************************************************/
//   19 
//   20 
//   21 /*********************************************************************
//   22  * INCLUDES
//   23  */
//   24 #include "ZComDef.h"
//   25 #include "OSAL.h"
//   26 #include "OSAL_Tasks.h"
//   27 #include "OSAL_Custom.h"
//   28 
//   29 #if defined ( MT_TASK )
//   30   #include "MTEL.h"
//   31 #endif
//   32 
//   33 #if !defined( NONWK )
//   34   #include "nwk.h"
//   35   #include "APS.h"
//   36   #include "ZDApp.h"
//   37 #endif
//   38 
//   39 #include "SampleApp.h"
//   40 
//   41 #include "OnBoard.h"
//   42 
//   43 #include "hal_drivers.h"
//   44 
//   45 /*********************************************************************
//   46  * MACROS
//   47  */
//   48 
//   49 /*********************************************************************
//   50  * CONSTANTS
//   51  */
//   52 
//   53 /*********************************************************************
//   54  * TYPEDEFS
//   55  */
//   56 
//   57 /*********************************************************************
//   58  * GLOBAL VARIABLES
//   59  */
//   60 
//   61 /*********************************************************************
//   62  * USER DEFINED TASK TABLE
//   63  */
//   64 
//   65 /*********************************************************************
//   66  * EXTERNAL VARIABLES
//   67  */
//   68 
//   69 /*********************************************************************
//   70  * EXTERNAL FUNCTIONS
//   71  */
//   72 
//   73 /*********************************************************************
//   74  * LOCAL VARIABLES
//   75  */
//   76 
//   77 /*********************************************************************
//   78  * LOCAL FUNCTION PROTOTYPES
//   79  */
//   80 
//   81 /*********************************************************************
//   82  * FUNCTIONS
//   83  *********************************************************************/
//   84 
//   85 /*********************************************************************
//   86  * @fn      osalAddTasks
//   87  *
//   88  * @brief   This function adds all the tasks to the task list.
//   89  *          This is where to add new tasks.
//   90  *
//   91  * @param   void
//   92  *
//   93  * @return  none
//   94  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//   95 void osalAddTasks( void )
osalAddTasks:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function osalAddTasks
//   96 {
        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
//   97 
//   98 /*
//   99   This task must be loaded first because Hal_Init() initializes
//  100   many things that other task_init functions may need.
//  101 */
//  102   //osalTaskAdd (Hal_Init, Hal_ProcessEvent, OSAL_TASK_PRIORITY_LOW);
//  103 
//  104 #if defined( ZMAC_F8W )
//  105   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)
//  106 #endif
//  107 
//  108 #if defined( MT_TASK )
//  109   osalTaskAdd( MT_TaskInit, MT_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
//  110 #endif
//  111 
//  112   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)
//  113   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)
//  114   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)
//  115 
//  116   osalTaskAdd( SampleApp_Init, SampleApp_ProcessEvent, OSAL_TASK_PRIORITY_LOW );
        ; Setup parameters for call to function osalTaskAdd
        MOV	?V0 + 0,#(SampleApp_ProcessEvent & 0xff)
        MOV	?V0 + 1,#((SampleApp_ProcessEvent >> 8) & 0xff)
        MOV	?V0 + 2,#((SampleApp_ProcessEvent >> 16) & 0xff)
        MOV	R0,#?V0 + 0
        LCALL	?PUSH_XSTACK_I_THREE
        CFI CFA_XSP16 add(XSP16, 14)
        MOV	R4,#0x32
        MOV	R1,#(SampleApp_Init & 0xff)
        MOV	R2,#((SampleApp_Init >> 8) & 0xff)
        MOV	R3,#((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)
//  117 }
        MOV	R7,#0x3
        LJMP	?BANKED_LEAVE_XDATA
        CFI EndBlock cfiBlock0

        END
//  118 
//  119 /*********************************************************************
//  120 *********************************************************************/
// 
// 185 bytes in segment BANKED_CODE
// 
// 185 bytes of CODE memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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