📄 osal_timers.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 13/Nov/2008 11:59:02 #
# Copyright 2004-2006 IAR Systems. All rights reserved. #
# #
# Core = plain #
# Code model = banked #
# Data model = large #
# Calling convention = xdata reentrant #
# Constant location = data #
# Dptr setup = 1,16 #
# Source file = C:\Texas Instruments\ZStack-1.4.2\Components\osal #
# \common\OSAL_Timers.c #
# Command line = -f "C:\Texas Instruments\ZStack-1.4.2\Projects\zs #
# tack\Samples\SampleApp\CC2430DB\..\..\..\Tools\CC #
# 2430DB\f8wRouter.cfg" (-DCPU32MHZ #
# -DFORCE_MAC_NEAR -DROOT=__near_func #
# -DMAC_CFG_APP_PENDING_QUEUE=TRUE -DRTR_NWK #
# -DBLINK_LEDS "-DCONST=const __code" #
# -DGENERIC=__generic) -f "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\Tools\CC2430DB\f8wCon #
# fig.cfg" (-DSECURE=0 -DDEFAULT_CHANLIST=0x0000080 #
# 0 -DZDAPP_CONFIG_PAN_ID=0xFFFF #
# -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_M #
# ASK=0x007F -DBEACON_REQUEST_DELAY=100 #
# -DBEACON_REQ_DELAY_MASK=0x00FF #
# -DROUTE_EXPIRY_TIME=30 -DAPSC_ACK_WAIT_DURATION_P #
# OLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7 #
# -DMAX_RREQ_ENTRIES=10 -DAPSC_MAX_FRAME_RETRIES=3 #
# -DNWK_MAX_DATA_RETRIES=2 #
# -DMAX_POLL_FAILURE_RETRIES=2 -DMAX_BCAST=9 #
# -DAPS_MAX_GROUPS=16 -DMAX_RTG_ENTRIES=20 #
# -DNWK_MAX_BINDING_ENTRIES=10 #
# -DMAX_BINDING_CLUSTER_IDS=5 #
# "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07, 0x09, #
# 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, #
# 0x0A, 0x0C, 0x0D}" -DRFD_RCVC_ALWAYS_ON=FALSE #
# -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100 #
# -DRESPONSE_POLL_RATE=100 -DREJOIN_POLL_RATE=440 #
# -DTOP_BOOT_PAGES=0) -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\" -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\clib\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\Source\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\ZMain\TI2430DB\" -I #
# "C:\Texas Instruments\ZStack-1.4.2\Projects\zstac #
# k\Samples\SampleApp\CC2430DB\..\..\..\..\..\Compo #
# nents\mt\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\hal\ #
# include\" -I "C:\Texas Instruments\ZStack-1.4.2\P #
# rojects\zstack\Samples\SampleApp\CC2430DB\..\..\. #
# .\..\..\Components\hal\target\CC2430EB\" -I #
# "C:\Texas Instruments\ZStack-1.4.2\Projects\zstac #
# k\Samples\SampleApp\CC2430DB\..\..\..\..\..\Compo #
# nents\osal\mcu\ccsoc\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\osal #
# \include\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
# k\af\" -I "C:\Texas Instruments\ZStack-1.4.2\Proj #
# ects\zstack\Samples\SampleApp\CC2430DB\..\..\..\. #
# .\..\Components\stack\nwk\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
# k\sec\" -I "C:\Texas Instruments\ZStack-1.4.2\Pro #
# jects\zstack\Samples\SampleApp\CC2430DB\..\..\..\ #
# ..\..\Components\stack\sys\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
# k\zdo\" -I "C:\Texas Instruments\ZStack-1.4.2\Pro #
# jects\zstack\Samples\SampleApp\CC2430DB\..\..\..\ #
# ..\..\Components\zmac\f8w\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\zmac #
# \" -I "C:\Texas Instruments\ZStack-1.4.2\Projects #
# \zstack\Samples\SampleApp\CC2430DB\..\..\..\..\.. #
# \Components\services\saddr\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\serv #
# ices\sdata\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
# include\" -I "C:\Texas Instruments\ZStack-1.4.2\P #
# rojects\zstack\Samples\SampleApp\CC2430DB\..\..\. #
# .\..\..\Components\mac\high_level\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
# low_level\srf03\" -I "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\mac\ #
# low_level\srf03\single_chip\" -D CC2430EB -D #
# ZTOOL_P1 -D MT_TASK -lC "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\RouterEB\List\" -lA "C:\Texas #
# Instruments\ZStack-1.4.2\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\RouterEB\List\" #
# --diag_suppress Pe001,Pa010 --diag_remark pe550 #
# -o "C:\Texas Instruments\ZStack-1.4.2\Projects\zs #
# tack\Samples\SampleApp\CC2430DB\RouterEB\Obj\" #
# -e --require_prototypes -z9 --no_code_motion #
# --debug --core=plain --dptr=16,1 #
# --data_model=large --code_model=banked #
# --calling_convention=xdata_reentrant #
# --place_constants=data --nr_virtual_regs 8 #
# "C:\Texas Instruments\ZStack-1.4.2\Components\osa #
# l\common\OSAL_Timers.c" #
# List file = C:\Texas Instruments\ZStack-1.4.2\Projects\zstack #
# \Samples\SampleApp\CC2430DB\RouterEB\List\OSAL_Ti #
# mers.lst #
# Object file = C:\Texas Instruments\ZStack-1.4.2\Projects\zstack #
# \Samples\SampleApp\CC2430DB\RouterEB\Obj\OSAL_Tim #
# ers.r51 #
# #
# #
##############################################################################
C:\Texas Instruments\ZStack-1.4.2\Components\osal\common\OSAL_Timers.c
1 /*********************************************************************
2 Filename: OSAL_Timers.c
3 Revised: $Date: 2006-10-27 16:25:55 -0700 (Fri, 27 Oct 2006) $
4 Revision: $Revision: 12442 $
5
6 Description: OSAL Timer definition and manipulation functions.
7
8 Copyright (c) 2006 by Texas Instruments, Inc.
9 All Rights Reserved. Permission to use, reproduce, copy, prepare
10 derivative works, modify, distribute, perform, display or sell this
11 software and/or its documentation for any purpose is prohibited
12 without the express written consent of Texas Instruments, Inc.
13 *********************************************************************/
14
15 /*********************************************************************
16 * INCLUDES
17 */
18
19 #include "ZComDef.h"
20 #include "OnBoard.h"
21 #include "OSAL.h"
22 #include "OSAL_Timers.h"
23
24 #include "hal_timer.h"
25 #include "hal_led.h"
26
27 /*********************************************************************
28 * MACROS
29 */
30
31 /*********************************************************************
32 * CONSTANTS
33 */
34
35 /*********************************************************************
36 * TYPEDEFS
37 */
38
39 typedef struct
40 {
41 void *next;
42 UINT16 timeout;
43 UINT16 event_flag;
44 byte task_id;
45 } osalTimerRec_t;
46
47 /*********************************************************************
48 * GLOBAL VARIABLES
49 */
50
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
51 osalTimerRec_t *timerHead;
\ timerHead:
\ 000000 DS 2
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
52 uint32 tmr_count; // Amount of time per tick - in micro-sec
\ tmr_count:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
53 uint16 tmr_decr_time; // Decr_Time for system timer
\ tmr_decr_time:
\ 000000 DS 2
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
54 byte timerActive; // Flag if hw timer active
\ timerActive:
\ 000000 DS 1
55
56 /*********************************************************************
57 * EXTERNAL VARIABLES
58 */
59
60 /*********************************************************************
61 * EXTERNAL FUNCTIONS
62 */
63
64 /*********************************************************************
65 * LOCAL VARIABLES
66 */
67 // Milliseconds since last reboot
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
68 static uint32 osal_systemClock;
\ ??osal_systemClock:
\ 000000 DS 4
69
70 /*********************************************************************
71 * LOCAL FUNCTION PROTOTYPES
72 */
73 osalTimerRec_t *osalAddTimer( byte task_id, UINT16 event_flag, UINT16 timeout );
74 osalTimerRec_t *osalFindTimer( byte task_id, uint16 event_flag );
75 void osalDeleteTimer( osalTimerRec_t *rmTimer );
76 static void osalTimerUpdate( uint16 time );
77
78 void osal_timer_activate( byte turn_on );
79 void osal_timer_hw_setup( byte turn_on );
80 void osal_set_timer_interrupt( byte turn_on );
81 void osal_retune_timers( void );
82
83 /*********************************************************************
84 * FUNCTIONS
85 *********************************************************************/
86
87 /*********************************************************************
88 * @fn osalTimerInit
89 *
90 * @brief Initialization for the OSAL Timer System.
91 *
92 * @param none
93 *
94 * @return
95 */
\ In segment BANKED_CODE, align 1, keep-with-next
96 void osalTimerInit( void )
\ osalTimerInit:
97 {
\ 000000 74F4 MOV A,#-0xc
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 12
\ 000005 ; Auto size: 0
98 // Initialize the rollover modulo
99 tmr_count = TICK_TIME;
\ 000005 90.... MOV DPTR,#__Constant_3e8
\ 000008 78.. MOV R0,#?V0 + 0
\ 00000A 12.... LCALL ?L_MOV_X
\ 00000D 90.... MOV DPTR,#tmr_count
\ 000010 78.. MOV R0,#?V0 + 0
\ 000012 12.... LCALL ?L_MOV_TO_X
100 tmr_decr_time = TIMER_DECR_TIME;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -