INTRODUCTION: One popular RTOS For the E.S development is microCOS-ll for noncommercial use, it is free ware .jean J.labrosse designed it in 1992 it is well developed for a no.of applications.it is available from micrium it is popularly known as MUCOS (or) UCOS.
2. :
One popular RTOS For the E.S development
is microCOS-ll for noncommercial use, it is free
ware .jean J.labrosse designed it in 1992 it is well
developed for a no.of applications.it is available
from micrium it is popularly known as MUCOS (or)
UCOS.
1/25/2015 J.SUDARSHANREDDY
3. :
• Advantages
•Applications
• Source Files
• System Level Functions
• Task Service & Time Functions
• Time Delay Functions
• Memory Allocation-Related Functions
•Semaphore- Related Functions
• Mail Box-Related Functions
• Queue-Related Functions
1/25/2015 J.SUDARSHANREDDY
4. :
Micrium Describes MUCOS as portable.
Micrium Describes MUCOS as ROMable.
Micrium Describes MUCOS as Preemptive.
Micrium Describes MUCOS as scalable.
Micrium Describes MUCOS as Real Time &
Multi Tasking Kernel.
It has full source code availability.
1/25/2015 J.SUDARSHANREDDY
5. :
MUCOS Has been used in over thousands of
applications including ,
Automotive
Avionics
Consumer Electronics
Medical Devices
Aero Space
Networking
System On Chip Development
It Gives Best high Quality/Performance Ratio
1/25/2015 J.SUDARSHANREDDY
6. MUCOS has 10000 plus lines codes there are two
types of source files.
1. Processer dependent source files :
• Os_CPU.h is the processor definations header
file
• The kernal building configuration file is Os
_CFG.h
2. Processer independent source files :
• MUCOS header & C-files are ucos_ii.h and
ucos_ii.c
• The files for RTOS core are os_core.c
1/25/2015 J.SUDARSHANREDDY
7. MUCOS RTOS has system functions that should be executed when
entering and exiting the ISR.
MUCOS RTOS has system functions for disabling and enabling intrrupts
that can be executed when entering a critical section of task (or) ISR and exiting
the critical Section (or) ISR the system level functions are
Initiating the os before starting the use of the RTOS functions.
Starting the use of RTOS multi tasking functions and running the task.
Starting the use of RTOS system clock.
Sending msg to RTOS Kernel for take control At the start of an ISR.
Sending msg to RTOS Kernel for take control At the start of a critical section.
Locking & Unlocking OS scheduler
1/25/2015 J.SUDARSHANREDDY
8. Service functions means the functions to create task, Suspend and
resume and time setting and time retrieving functions.
Time functions set Time & Get Time in terms of the no.of system clock
ticks.
1. The functions OS task create () returns the following
i. OS_NO_ERR
ii. OS_PRIO_EXIST
iii. OS_PRIO_INVALID
iv. OS_NO_MORE_TCB
2. The functions suspending a task follows OS_TASK_SUSPEND_PRIO ,
OS_TASK_SUSPEND_IDLE.
1/25/2015 J.SUDARSHANREDDY
9. 3. Resuming a Task.Functions unsigned byte resumes a
suspended task the function OS task resume() returns the
OS_NO_ERR when the blocking succeed.
4. Setting time in system clock function void OS time set
returns no value.
5. Getting time of system clock function unsigned int Os
time get(void) returns current no.of ticks as an unsigned
integer.
1/25/2015 J.SUDARSHANREDDY
10. Delaying by defining a time delay by no.of clock ticks function. Function
void Os time dly delays tasks by tick of system clock it returns no para
meter.
It delays that task for atleast 100000 ms if system clock ticks after every 10
ms.
Resuming a delay task by Os time dly. function unsigned byte Os time dly
resume a previously delayed task whether delay parameters was interms
of the delay counticks or hours, minutes, seconds.
Delaying by defining a time delay in units of hours, minutes, seconds,
milli seconds function void Os time dly HMSM delays up to 65535 ticks.
1/25/2015 J.SUDARSHANREDDY
11. Mem0ry functions are required to allocate fixed size memory
Blocks from the memory partition having integer no.of blocks the allocation takes
Place with out fragmentation the allocations & deallocations takes places in fixed &
Deterministic.
Creating a memory blocks at memory address. Function OSMem *OSMem create is
an Os function which partitions the memory from an address with partitions in the
blocks.
Getting a memory blocks at memory address.Function void *OSMem get.
Querying a memory block.Function unsigned byte OSMemquery.
Putting a memory block into a partition.function unsigned byte OSMemput.1/25/2015 J.SUDARSHANREDDY
12. MUCOS also provides for event functions for an event flags
Groups to handle task pending action on occurrence of any or all events.
1. Creating a semaphore for the IPCs. Function Os_event Os sem create.
2. Waiting for an IPC for semaphore release. Function void Os sempend.
3. Check for availability of an IPC after a semaphore release.
4. Sending an IPC after a semaphore release function unsigned byte Os sempost.
5. Retrieve the error information for a semaphore.
1/25/2015 J.SUDARSHANREDDY
13. Mail Box – Related Functions :
1. Creating a mail box for an IPC.
2. Check for availability of an IPC after a msg at mail box.
3. Wating for availability of an IPC for a msg at mail box.
4. Send a msg for an IPC through mail box.
5. Finding mail box data and retrieving the error information for mail box.
1/25/2015 J.SUDARSHANREDDY
14. By using a queue we can communicate an array of msg pointers
From the task. The msg pointers can be posted into queue by the task either at the
Back as in a queue or at the front as in a stack.
Creating a queue for An IPC.
Waiting for an IPC msg at a queue.
Emptying the queue & eliminating all the msg pointers.
Sending a msg pointer to the queue.
Sendingh a msg pointer & inserting it at the queue front.
Querying to find the msg & error information for the queue ECB.1/25/2015 J.SUDARSHANREDDY