Chapter 4
#define
OS_CRITICAL_ENTER()
{
CPU_CRITICAL_ENTER();
OSSchedLockNestingCtr++;
CPU_CRITICAL_EXIT();
}
#define
#define
OS_CRITICAL_EXIT()
OS_CRITICAL_EXIT_NO_SCHED()
{
}
{
CPU_CRITICAL_ENTER();
OSSchedLockNestingCtr--;
if (OSSchedLockNestingCtr == (OS_NESTING_CTR)0) {
CPU_CRITICAL_EXIT();
OSSched();
} else {
CPU_CRITICAL_EXIT();
}
CPU_CRITICAL_ENTER();
OSSchedLockNestingCtr--;
CPU_CRITICAL_EXIT();
}
Listing 4-2 Critical section code – Locking the Scheduler
4-2-1 MEASURING SCHEDULER LOCK TIME
μC/OS-III provides facilities to measure the amount of time the scheduler is locked. This is done
by setting the configuration constant OS_CFG_SCHED_LOCK_TIME_MEAS_EN to 1 in OS_CFG.H .
The measurement is started each time the scheduler is locked and ends when the scheduler
is unlocked. The measurement keeps track of two values: a global scheduler lock time, and
a per-task scheduler lock time. It is therefore possible to know how long each task locks the
scheduler allowing the user to better optimize code.
The per-task scheduler lock time is saved in the task’s OS_TCB during a context switch (see
OSTaskSwHook() in OS_CPU_C.C and described in Chapter 8, “Context Switching” on
page 147).
The unit of measure for the measured time is in CPU_TS (timestamp) units so it is necessary to
find the resolution of the timer used to measure the timestamps. For example, if the timer used
for the timestamp is incremented at 1 MHz then the resolution of CPU_TS is 1 microsecond.
72
相关PDF资料
AD-UCUSBD-SPRD PRD LIC UCUSB DEV CORE CCES SGL
AD637-EVALZ BOARD EVALUATION FOR AD637
AD736-EVALZ BOARD EVALUATION FOR AD736
AD737-EVALZ BOARD EVALUATION FOR AD737
AD8007AKS-EBZ BOARD EVAL FOR AD8007AKS
AD8018ARU-EVAL BOARD EVAL FOR AD8018
AD8034ART-EBZ BOARD EVAL FOR AD8034ART
AD8040AR-EBZ BOARD EVAL FOR AD8040AR
相关代理商/技术参数
ADUCOSC100 制造商:Analog Devices 功能描述:ADC - Rail/Tube
ADUCOSC100-REEL 功能描述:DAC MICROCONVERTER DUAL TSSOP 制造商:analog devices inc. 系列:* 零件状态:上次购买时间 标准包装:1
ADUCOSC100-REEL7 功能描述:DAC MICROCONVERTER DUAL TSSOP 制造商:analog devices inc. 系列:* 零件状态:上次购买时间 标准包装:1
ADUCOSCZ100 制造商:Analog Devices 功能描述:
ADUCOSCZ100-REEL7 制造商:Analog Devices 功能描述:ANAADUCOSCZ100-REEL7 12 BIT ADC WITH EMB
ADuC-P7026 功能描述:开发板和工具包 - ARM PROTOTYPE BRD FOR ADUC7026 ARM7 RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
ADUCRF101 制造商:Analog Devices 功能描述:PRECISION ANALOG MICRCONTROLLER - Tape and Reel
ADUCRF101BCPZ128 制造商:Analog Devices 功能描述:PRECISION ANALOG MICROCONTROLLER WITH RF TRANSCEIVER, ARM CO - Trays