15
1/25/2015 J.SUDARSHANREDDY

RTOS MICRO CONTROLLER OPERATING SYSTEM-2

Embed Size (px)

Citation preview

Page 1: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

1/25/2015 J.SUDARSHANREDDY

Page 2: RTOS MICRO CONTROLLER OPERATING SYSTEM-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

Page 3: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

:

• 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

Page 4: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

:

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

Page 5: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

:

MUCOS Has been used in over thousands of applications including , Automotive Avionics Consumer ElectronicsMedical Devices Aero Space Networking System On Chip Development It Gives Best high Quality/Performance Ratio

1/25/2015 J.SUDARSHANREDDY

Page 6: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

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

Page 7: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

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

Page 8: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

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_ERRii. OS_PRIO_EXISTiii. OS_PRIO_INVALIDiv. OS_NO_MORE_TCB

2. The functions suspending a task follows OS_TASK_SUSPEND_PRIO ,

OS_TASK_SUSPEND_IDLE.1/25/2015 J.SUDARSHANREDDY

Page 9: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

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

Page 10: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

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 parameter.

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 dlyresume 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

Page 11: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

Mem0ry functions are required to allocate fixed size memory Blocks from the memory partition having integer no.of blocks the allocation takesPlace 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

Page 12: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

MUCOS also provides for event functions for an event flagsGroups 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

Page 13: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

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

Page 14: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

By using a queue we can communicate an array of msg pointersFrom the task. The msg pointers can be posted into queue by the task either at theBack 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

Page 15: RTOS MICRO CONTROLLER OPERATING SYSTEM-2

1/25/2015 J.SUDARSHANREDDY