Ucos-11

  • Uploaded by: ariessridhar
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ucos-11 as PDF for free.

More details

  • Words: 255
  • Pages: 93
UCOS-11 Real Time Operating System

μC/OS-II Initialization • A requirement of μC/OS-II is that you call OSInit() before you call any of its other services. OSInit() initializes all of μC/OSII’s variables and data structures • OSInit() creates the idle task (OSTaskIdle()) which is always ready-torun.

• Disabling and enabling interrupts through the two macros OS_ENTER_CRITICAL() and OS_EXIT_CRITICAL(), respectively. You use these macros when two tasks or a task and an ISR need to share data. • An ECB can either be a semaphore, a message mailbox or a message queue

Semaphores • mC/OS-II's semaphores consist of two elements: a 16-bit unsigned integer used to hold the semaphore count (0..65535), and a list of tasks waiting for the semaphore count to be greater than 0.

• if the semaphore allows your application to obtain any one of ‘n’ identical resources then, you would initialize the semaphore to ‘n’. The semaphore would then be used as a counting semaphore. • If you use the semaphore to signal the occurrence of one or more events then you would typically initialize the semaphore to 0.

• If you use the semaphore to access a shared resource then you would initialize the semaphore to 1 (i.e. use it as a binary semaphore).

five services to access semaphores: • • • • •

OSSemCreate() OSSemPend() OSSemPost() OSSemAccept() OSSemQuery().

Message Mailboxes • To enable μC/OS-II’s message mailbox services, you must set the configuration constant OS_MBOX_EN to 1 (see file OS_CFG.H).

• • • • •

OSMboxCreate() OSMboxPend() OSMboxPost() OSMboxAccept() OSMboxQuery()

Memory Management

More Documents from "ariessridhar"

Ucos-11
May 2020 0