Chapter 1
F1-2(1)
A low-priority task is executing.
F1-2(2)
An interrupt occurs, and the CPU vectors to the ISR responsible for servicing
the interrupting device.
F1-2(3)
The ISR services the interrupt device, but actually does very little work. The ISR
will signal or send a message to a higher-priority task that will be responsible
for most of the processing of the interrupting device. For example, if the
interrupt comes from an Ethernet controller, the ISR simply signals a task,
which will process the received packet.
F1-2(4)
F1-2(5)
F1-2(6)
F1-2(7)
When the ISR finishes, μC/OS-III notices that a more important task has been
made ready to run by the ISR and will not return to the interrupted task, but
instead context switch to the more important task.
The higher-priority task executes and performs the necessary processing in
response to the interrupt device.
When the higher-priority task completes its work, it loops back to the
beginning of the task code and makes a μC/OS-III function call to wait for the
next interrupt from the device.
The low-priority task resumes exactly at the point where it was interrupted, not
knowing what happened.
Kernels such as μC/OS-III are also responsible for managing communication between tasks,
and managing system resources (memory and I/O devices).
A kernel adds overhead to a system because the services provided by the kernel require
time to execute. The amount of overhead depends on how often these services are invoked.
In a well-designed application, a kernel uses between 2% and 4% of a CPU’s time. And,
since μC/OS-III is software that is added to an application, it requires extra ROM (code
space) and RAM (data space).
Low-end single-chip microcontrollers are generally not able to run a real-time kernel such
as μC/OS-III since they have access to very little RAM. μC/OS-III requires between 1 Kbyte
and 4 Kbytes of RAM, plus each task requires its own stack space. It is possible for
μC/OS-III to work on processors having as little as 4 Kbytes of RAM.
18
相关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