SlideShare una empresa de Scribd logo
1 de 29
MicroC/OS-II
TOPIWALA MOHIT N.
VLSI DESIGN-1581210018
SRM UNIVERSITY,
CHENNAI
S
O
T
R
MicroC/OS-II (commonly termed as µC/OS-
II or uC/OS-II), is the acronym for Micro-Controller
Operating Systems Version 2.
It is a priority-based real-time multitasking operating
system kernel for microprocessors, written mainly in the
C programming language.
It is intended for use in embedded systems.
INTRODUCTION
9/29/2013 RTOS Mucos
It is a very small real-time kernel.
Memory footprint is about 20KB for a fully functional
kernel.
Source code is written mostly in ANSI C.
Highly portable, ROMable, very scalable, preemptive real-
time, deterministic, multitasking kernel.
It can manage up to 64 tasks (56 user tasks available).
It has connectivity with μC/GUI and μC/FS (GUI and File
Systems for μC/OS II).
Features of MicroC/OS-II :
9/29/2013 RTOS Mucos
It is ported to more than 100 microprocessors and
microcontrollers.
It is simple to use and simple to implement but very
effective compared to the price/performance ratio.
It supports all type of processors from 8-bit to 64-bit.
Cont…
9/29/2013 RTOS Mucos
µC/OS-II is a multitasking operating system. Each task is
an infinite loop and can be in any one of the following five
states:
 Dormant
 Ready
 Running
 Waiting
 ISR (Interrupt Service Routine)
Task states:
9/29/2013 RTOS Mucos
 Task Feature
 Task Creation
 Task Stack & Stack Checking
 Task Deletion
 Change a Task’s Priority
 Suspend and Resume a Task
 Get Information about a Task
Task Management (Services):
9/29/2013 RTOS Mucos
 μC/OS-II can manage up to 64 tasks.
The four highest priority tasks and the four lowest priority
tasks are reserved for its own use. This leaves 56 tasks for
applications.
The lower the value of the priority, the higher the priority
of the task. (Something on the lines of Rate Monotonic
Scheduling).
The task priority number also serves as the task identifier.
Task Feature :
9/29/2013 RTOS Mucos
Rate Monotonic Scheduling :
 In Rate Monotonic Scheduling tasks with the highest rate of
execution are given the highest priority
Assumptions:
 All tasks are periodic
 Tasks do not synchronize with one another, share resources, etc.
 Preemptive scheduling is used (always runs the highest priority
task that is ready)
 Under these assumptions, let n be the number of tasks, Ei be the
execution time of task i, and Ti be the period of task i. Then, all
deadlines will be met if the following inequality is satisfied:
ΣEi / Ti ≤ n(2^1/n – 1)
9/29/2013 RTOS Mucos
Rate Monotonic Scheduling :
Suppose we have 3 tasks. Task 1 runs at 100 Hz and takes 2
ms. Task 2 runs at 50 Hz and takes 1 ms. Task 3 runs at 66.7 Hz
and takes 7 ms. Apply RMS theory…
(2/10) + (1/20) + (7/15) = 0.717 ≤ 3(21/3 – 1) = 0.780
Thus, all the deadlines will be met
 General Solution?
 As n →∞, the right-hand side of the inequality goes to
ln(2)=0.6931. Thus, you should design your system to use less
than 60-70% of the CPU
9/29/2013 RTOS Mucos
PROCESS CYCLE :
9/29/2013 RTOS Mucos
There are two functions for creating a task:
OSTaskCreate()
 OSTaskCreateExt().
Task Creation :
9/29/2013 RTOS Mucos
Task Management :
9/29/2013 RTOS Mucos
Task Management :
After the task is created, the task has to get a stack in
which it will store its data.
 A stack must consist of contiguous memory locations.
 It is necessary to determine how much stack space a
task actually uses.
 Deleting a task means the task will be returned to its
dormant state and does not mean that the code for the
task will be deleted. The calling task can delete itself.
9/29/2013 RTOS Mucos
If another task tries to delete the current task, the
resources are not freed and thus are lost. So the task has to
delete itself after it uses its resources
Priority of the calling task or another task can be changed
at run time.
A task can suspend itself or another task, a suspended task
can resume itself.
A task can obtain information about itself or other tasks.
This information can be used to know what the task is doing
at a particular time.
Task Management (cont…):
9/29/2013 RTOS Mucos
The services of Memory management includes:
Initializing the Memory Manager.
Creating a Memory Partition.
Obtaining Status of a Memory Partition.
Obtaining a Memory Block.
Returning a Memory Block.
Waiting for Memory Blocks from a Memory Partition.
Memory Management :
9/29/2013 RTOS Mucos
Each memory partition consists of several fixed-sized memory
blocks.
A task obtains memory blocks from the memory partition. A
task must create a memory partition before it can be used.
Allocation and de-allocation of these fixed-sized memory
blocks is done in constant time and is deterministic.
Multiple memory partitions can exist, so a task can obtain
memory blocks of different sizes.
A specific memory block should be returned to its memory
partition from which it came.
Memory Management :
9/29/2013 RTOS Mucos
Clock Tick : A clock tick is a periodic time source to
keep track of time delays and time outs.
Here, tick intervals varies from 10 ~ 100 ms.
The faster the tick rate, the higher the overhead
imposed on the system.
Whenever a clock tick occurs μC/OS-II increments
a 32- bit counter, the counter starts at zero, and rolls
over to 4,294,967,295 (2^32-1) ticks.
A task can be delayed and a delayed task can also be
resumed.
Time Management :
9/29/2013 RTOS Mucos
It involves five services that includes:
OSTimeDLY()
OSTimeDLYHMSM()
OSTimeDlyResume()
OSTimeGet()
OSTimeSet()
Time Management :
9/29/2013 RTOS Mucos
Inter-task or inter process communication in μC/OS
takes place using:
Semaphores
Message mailbox
Message queues
Tasks and Interrupt service routines (ISR). They can
interact with each other through an ECB (event control
block).
Inter-Task Communication :
9/29/2013 RTOS Mucos
Inter-Task Communication :
Single task waiting
9/29/2013 RTOS Mucos
Inter-Task Communication :
Multiple tasks waiting and signaling
9/29/2013 RTOS Mucos
Inter-Task Communication :
Tasks can wait and signal along with an optional time out
9/29/2013 RTOS Mucos
Inter-Task Communication :
μC/OS-II semaphores consist of two elements
16-bit unsigned integer count
list of tasks waiting for semaphore
μC/OSII provides
Create, post, pend accept and query services
9/29/2013 RTOS Mucos
Inter-Task Communication :
μC/OS-II message-mailboxes: an μC/OSII object that allows
a task or ISR to send a pointer sized variable (pointing to a
message) to another task.
9/29/2013 RTOS Mucos
Inter-Task Communication :
 μC/OS-II message-queues
Available services: Create, Post (FIFO), PostFront (LIFO),
Pend, Accept, Query, Flush
 N = #of entries in the queue: Queue full if Post or
PostFront called N times before a Pend or Accept
9/29/2013 RTOS Mucos
Inter-Task Communication :
μC/OS-II message-queues organized as circular buffers.
9/29/2013 RTOS Mucos
Tasks running under a multitasking kernel should be written in one of two
ways:
1. A non-returning forever loop. For example:
void Task (void *)
{
DoInitStuff();
while (1)
{ do this;
do that;
do the other thing;
call OS service (); // e.g. OSTimeDelay, OSSemPend, etc.
}
}
Writing Applications Under μC/OS -II:
9/29/2013 RTOS Mucos
2. A task that deletes itself after running.
For example:
void Task (void *)
{ do this;
do that;
do the other thing;
call OS service (); // e.g. OSTimeDelay, OSSemPend, etc.
OSTaskDelete(); // Ask the OS to delete the task
}
9/29/2013 RTOS Mucos
9/29/2013 RTOS Mucos

Más contenido relacionado

La actualidad más candente

Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
destruck
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time Kernels
Arnav Soni
 

La actualidad más candente (20)

TMS320C5x
TMS320C5xTMS320C5x
TMS320C5x
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
RTOS - Real Time Operating Systems
RTOS - Real Time Operating SystemsRTOS - Real Time Operating Systems
RTOS - Real Time Operating Systems
 
Rtos concepts
Rtos conceptsRtos concepts
Rtos concepts
 
Lambda design rule
Lambda design ruleLambda design rule
Lambda design rule
 
Vxworks
VxworksVxworks
Vxworks
 
Design challenges in embedded systems
Design challenges in embedded systemsDesign challenges in embedded systems
Design challenges in embedded systems
 
Rtos by shibu
Rtos by shibuRtos by shibu
Rtos by shibu
 
EE6602 Embedded System
EE6602 Embedded SystemEE6602 Embedded System
EE6602 Embedded System
 
Embedded c
Embedded cEmbedded c
Embedded c
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time Kernels
 
Introduction to Embedded Architecture
Introduction to Embedded Architecture Introduction to Embedded Architecture
Introduction to Embedded Architecture
 
ARM CORTEX M3 PPT
ARM CORTEX M3 PPTARM CORTEX M3 PPT
ARM CORTEX M3 PPT
 
Interfacing memory with 8086 microprocessor
Interfacing memory with 8086 microprocessorInterfacing memory with 8086 microprocessor
Interfacing memory with 8086 microprocessor
 
Instruction pipeline: Computer Architecture
Instruction pipeline: Computer ArchitectureInstruction pipeline: Computer Architecture
Instruction pipeline: Computer Architecture
 
Typical Embedded System
Typical Embedded SystemTypical Embedded System
Typical Embedded System
 
OMAP
OMAPOMAP
OMAP
 
8051 Assembly Language Programming
8051 Assembly Language Programming8051 Assembly Language Programming
8051 Assembly Language Programming
 
Arm instruction set
Arm instruction setArm instruction set
Arm instruction set
 

Similar a MicroC/OS-II

seminarembedded-150504150805-conversion-gate02.pdf
seminarembedded-150504150805-conversion-gate02.pdfseminarembedded-150504150805-conversion-gate02.pdf
seminarembedded-150504150805-conversion-gate02.pdf
karunyamittapally
 
REAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEMREAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEM
prakrutijsh
 
Types of Operating System-converted.pdf
Types of Operating System-converted.pdfTypes of Operating System-converted.pdf
Types of Operating System-converted.pdf
Omid695066
 
Inter process communication
Inter process communicationInter process communication
Inter process communication
Mohd Tousif
 

Similar a MicroC/OS-II (20)

RTOS implementation
RTOS implementationRTOS implementation
RTOS implementation
 
Rtos
RtosRtos
Rtos
 
Os Concepts
Os ConceptsOs Concepts
Os Concepts
 
Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating Systems
 
seminarembedded-150504150805-conversion-gate02.pdf
seminarembedded-150504150805-conversion-gate02.pdfseminarembedded-150504150805-conversion-gate02.pdf
seminarembedded-150504150805-conversion-gate02.pdf
 
Multitasking
MultitaskingMultitasking
Multitasking
 
Lab3F22.pdf
Lab3F22.pdfLab3F22.pdf
Lab3F22.pdf
 
REAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEMREAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEM
 
Mca2050 computer architecture
Mca2050  computer architectureMca2050  computer architecture
Mca2050 computer architecture
 
Embedded os
Embedded osEmbedded os
Embedded os
 
Os functions
Os functionsOs functions
Os functions
 
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
 
Embedded operating system and industrial applications: a review
Embedded operating system and industrial applications: a reviewEmbedded operating system and industrial applications: a review
Embedded operating system and industrial applications: a review
 
Completeosnotes
CompleteosnotesCompleteosnotes
Completeosnotes
 
Complete Operating System notes
Complete Operating System notesComplete Operating System notes
Complete Operating System notes
 
Types of Operating System-converted.pdf
Types of Operating System-converted.pdfTypes of Operating System-converted.pdf
Types of Operating System-converted.pdf
 
Os concepts
Os conceptsOs concepts
Os concepts
 
Mid1 Revision
Mid1  RevisionMid1  Revision
Mid1 Revision
 
Inter process communication
Inter process communicationInter process communication
Inter process communication
 
Types or evolution of operating system
Types or evolution of operating systemTypes or evolution of operating system
Types or evolution of operating system
 

Último

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Último (20)

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 

MicroC/OS-II

  • 1. MicroC/OS-II TOPIWALA MOHIT N. VLSI DESIGN-1581210018 SRM UNIVERSITY, CHENNAI S O T R
  • 2. MicroC/OS-II (commonly termed as µC/OS- II or uC/OS-II), is the acronym for Micro-Controller Operating Systems Version 2. It is a priority-based real-time multitasking operating system kernel for microprocessors, written mainly in the C programming language. It is intended for use in embedded systems. INTRODUCTION 9/29/2013 RTOS Mucos
  • 3. It is a very small real-time kernel. Memory footprint is about 20KB for a fully functional kernel. Source code is written mostly in ANSI C. Highly portable, ROMable, very scalable, preemptive real- time, deterministic, multitasking kernel. It can manage up to 64 tasks (56 user tasks available). It has connectivity with μC/GUI and μC/FS (GUI and File Systems for μC/OS II). Features of MicroC/OS-II : 9/29/2013 RTOS Mucos
  • 4. It is ported to more than 100 microprocessors and microcontrollers. It is simple to use and simple to implement but very effective compared to the price/performance ratio. It supports all type of processors from 8-bit to 64-bit. Cont… 9/29/2013 RTOS Mucos
  • 5. µC/OS-II is a multitasking operating system. Each task is an infinite loop and can be in any one of the following five states:  Dormant  Ready  Running  Waiting  ISR (Interrupt Service Routine) Task states: 9/29/2013 RTOS Mucos
  • 6.  Task Feature  Task Creation  Task Stack & Stack Checking  Task Deletion  Change a Task’s Priority  Suspend and Resume a Task  Get Information about a Task Task Management (Services): 9/29/2013 RTOS Mucos
  • 7.  μC/OS-II can manage up to 64 tasks. The four highest priority tasks and the four lowest priority tasks are reserved for its own use. This leaves 56 tasks for applications. The lower the value of the priority, the higher the priority of the task. (Something on the lines of Rate Monotonic Scheduling). The task priority number also serves as the task identifier. Task Feature : 9/29/2013 RTOS Mucos
  • 8. Rate Monotonic Scheduling :  In Rate Monotonic Scheduling tasks with the highest rate of execution are given the highest priority Assumptions:  All tasks are periodic  Tasks do not synchronize with one another, share resources, etc.  Preemptive scheduling is used (always runs the highest priority task that is ready)  Under these assumptions, let n be the number of tasks, Ei be the execution time of task i, and Ti be the period of task i. Then, all deadlines will be met if the following inequality is satisfied: ΣEi / Ti ≤ n(2^1/n – 1) 9/29/2013 RTOS Mucos
  • 9. Rate Monotonic Scheduling : Suppose we have 3 tasks. Task 1 runs at 100 Hz and takes 2 ms. Task 2 runs at 50 Hz and takes 1 ms. Task 3 runs at 66.7 Hz and takes 7 ms. Apply RMS theory… (2/10) + (1/20) + (7/15) = 0.717 ≤ 3(21/3 – 1) = 0.780 Thus, all the deadlines will be met  General Solution?  As n →∞, the right-hand side of the inequality goes to ln(2)=0.6931. Thus, you should design your system to use less than 60-70% of the CPU 9/29/2013 RTOS Mucos
  • 11. There are two functions for creating a task: OSTaskCreate()  OSTaskCreateExt(). Task Creation : 9/29/2013 RTOS Mucos
  • 13. Task Management : After the task is created, the task has to get a stack in which it will store its data.  A stack must consist of contiguous memory locations.  It is necessary to determine how much stack space a task actually uses.  Deleting a task means the task will be returned to its dormant state and does not mean that the code for the task will be deleted. The calling task can delete itself. 9/29/2013 RTOS Mucos
  • 14. If another task tries to delete the current task, the resources are not freed and thus are lost. So the task has to delete itself after it uses its resources Priority of the calling task or another task can be changed at run time. A task can suspend itself or another task, a suspended task can resume itself. A task can obtain information about itself or other tasks. This information can be used to know what the task is doing at a particular time. Task Management (cont…): 9/29/2013 RTOS Mucos
  • 15. The services of Memory management includes: Initializing the Memory Manager. Creating a Memory Partition. Obtaining Status of a Memory Partition. Obtaining a Memory Block. Returning a Memory Block. Waiting for Memory Blocks from a Memory Partition. Memory Management : 9/29/2013 RTOS Mucos
  • 16. Each memory partition consists of several fixed-sized memory blocks. A task obtains memory blocks from the memory partition. A task must create a memory partition before it can be used. Allocation and de-allocation of these fixed-sized memory blocks is done in constant time and is deterministic. Multiple memory partitions can exist, so a task can obtain memory blocks of different sizes. A specific memory block should be returned to its memory partition from which it came. Memory Management : 9/29/2013 RTOS Mucos
  • 17. Clock Tick : A clock tick is a periodic time source to keep track of time delays and time outs. Here, tick intervals varies from 10 ~ 100 ms. The faster the tick rate, the higher the overhead imposed on the system. Whenever a clock tick occurs μC/OS-II increments a 32- bit counter, the counter starts at zero, and rolls over to 4,294,967,295 (2^32-1) ticks. A task can be delayed and a delayed task can also be resumed. Time Management : 9/29/2013 RTOS Mucos
  • 18. It involves five services that includes: OSTimeDLY() OSTimeDLYHMSM() OSTimeDlyResume() OSTimeGet() OSTimeSet() Time Management : 9/29/2013 RTOS Mucos
  • 19. Inter-task or inter process communication in μC/OS takes place using: Semaphores Message mailbox Message queues Tasks and Interrupt service routines (ISR). They can interact with each other through an ECB (event control block). Inter-Task Communication : 9/29/2013 RTOS Mucos
  • 20. Inter-Task Communication : Single task waiting 9/29/2013 RTOS Mucos
  • 21. Inter-Task Communication : Multiple tasks waiting and signaling 9/29/2013 RTOS Mucos
  • 22. Inter-Task Communication : Tasks can wait and signal along with an optional time out 9/29/2013 RTOS Mucos
  • 23. Inter-Task Communication : μC/OS-II semaphores consist of two elements 16-bit unsigned integer count list of tasks waiting for semaphore μC/OSII provides Create, post, pend accept and query services 9/29/2013 RTOS Mucos
  • 24. Inter-Task Communication : μC/OS-II message-mailboxes: an μC/OSII object that allows a task or ISR to send a pointer sized variable (pointing to a message) to another task. 9/29/2013 RTOS Mucos
  • 25. Inter-Task Communication :  μC/OS-II message-queues Available services: Create, Post (FIFO), PostFront (LIFO), Pend, Accept, Query, Flush  N = #of entries in the queue: Queue full if Post or PostFront called N times before a Pend or Accept 9/29/2013 RTOS Mucos
  • 26. Inter-Task Communication : μC/OS-II message-queues organized as circular buffers. 9/29/2013 RTOS Mucos
  • 27. Tasks running under a multitasking kernel should be written in one of two ways: 1. A non-returning forever loop. For example: void Task (void *) { DoInitStuff(); while (1) { do this; do that; do the other thing; call OS service (); // e.g. OSTimeDelay, OSSemPend, etc. } } Writing Applications Under μC/OS -II: 9/29/2013 RTOS Mucos
  • 28. 2. A task that deletes itself after running. For example: void Task (void *) { do this; do that; do the other thing; call OS service (); // e.g. OSTimeDelay, OSSemPend, etc. OSTaskDelete(); // Ask the OS to delete the task } 9/29/2013 RTOS Mucos