Task Management
5-3 DETECTING TASK STACK OVERFLOWS
1) Using an MMU or MPU
Stack overflows are easily detected if the processor has a Memory Management Unit (MMU)
or a Memory Protection Unit (MPU). Basically, MMUs and MPUs are special hardware
devices integrated alongside the CPU that can be configured to detect when a task attempts
to access invalid memory locations, whether code, data, or stack. Setting up an MMU or
MPU is well beyond the scope of this book.
2) Using a CPU with stack overflow detection
Some processors, however, do have simple stack pointer overflow detection registers. When
the CPU’s stack pointer goes below (or above depending on stack growth) the value set in
this register, an exception is generated and the exception handler ensures that the offending
code does not do further damage (possibly issue a warning about the faulty code). The
.StkLimitPtr field in the OS_TCB (see Task Control Blocks) is provided for this purpose as
shown in Figure 5-3. Note that the position of the stack limit is typically set at a valid
location in the task’s stack with sufficient room left on the stack to handle the exception
itself (assuming the CPU does not have a separate exception stack). In most cases, the
position can be fairly close to &MyTaskStk[0] .
6WDFN
 5$0 
/RZ 0HPRU
0\7DVN6WN> @
 6WN/LPLW3WU
63
&XUUHQW
6WDFN
8VDJH
6WDFN *URZWK
0\7DVN6WN>1  @
+LJK 0HPRU
&38B67.
Figure 5-3 Hardware detection of stack overflows
87
相关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