1. Trang chủ
  2. » Cao đẳng - Đại học

Introduction to uCOS II v2 6 m5

15 244 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 326 KB

Nội dung

Introduction to uCOS-II V2.6 About SwiftACT • A Technology services startup company o Under establishment • Areas of specialties: o o Mobile telecommunication services development Embedded systems development • Types of services: o o o o Consultation Managed services Sourcing Training Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 About Me • Graduated 2004 o ECE, ASU: yrs distinction • 5+ years in embedded systems development o SDLC, Apps, MW, DD, Porting, • 3+ years in SW engineering o PSP, CMMI, Systematic reuse, • 3+ years in SW testing o IBM certified, ISTQB certified, Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Copyright • Materials in this course is the property of Amr Ali Abdel-Naby • Reproduction or transmission of the materials in any manner without the copyright owner permission is a law violation Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Course References • MicroC/OS-II The Real-Time Kernel, 2nd Edition, by Jean J Labrosse Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Outline • • • • • • • • • • Introduction to µC/OS-II Kernel Structure Task Management Time Management Semaphore Management Mutual Exclusion Semaphores Event Flag Management Message Mailbox Management Message Queue Management Memory Management Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Outline • • • • • • • • • • Introduction to µC/OS-II Kernel Structure Task Management Time Management Semaphore Management Mutual Exclusion Semaphores Event Flag Management Message Mailbox Management Message Queue Management Memory Management Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Semaphores • Semaphores are 16 bit unsigned integers used for resource sharing or to signal the occurrence of an event OSSemCreate() OSSemDel() OSSemPost() OSSemAccept() OSSemPend() OSSemQuery() ISR Task N Task OSSemPost() Amr Ali Abdel-Naby@2010 N OSSemAccept() Introduction to uCOS-II V2.6 ISR Creating a Semaphore, OSSemCreate OS_EVENT *OSSemCreate (INT16U cnt) • cnt: The initial value for the semaphore o o •  No resource available N  Resource initially available Return value: o o Non-null for successful creation Null for failure Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Deleting a Semaphore, OSSemDel OS_EVENT *OSSemDel (OS_EVENT *pevent, INT8U opt, INT8U *err) • • pevent: A pointer to the semaphore to be deleted opt: Delete options o o • Delete always Delete if no pending tasks err: o o o o o o No error Called from ISR Invalid option There are tasks pending pevent is null pevent is not a semaphore Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Deleting a Semaphore, OSSemDel cont’d OS_EVENT *OSSemDel (OS_EVENT *pevent, INT8U opt, INT8U *err) • Return value: Null if successful Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Waiting on a Semaphore (Blocking), OSSemPend void OSSemPend (OS_EVENT *pevent, INT16U timeout, INT8U *err) • • pevent: A pointer to the semaphore to pend to timeout: o o •  wait for ever !0  wait with specific timeout err: o o o o o No error Timeout pevent is not a semaphore pevent is null Called from ISR Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Signaling a Semaphore, OSSemPost INT8U OSSemPost (OS_EVENT *pevent) • • pevent: A pointer to the semaphore to post to Return value: o o o o No error Semaphore overflow pevent is not a semaphore pevent is null Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Getting a Semaphore without Waiting, OSSemAccept INT16U OSSemAccept (OS_EVENT *pevent) • • pevent: A pointer to the semaphore to pend to Return value: o o Count  case of error or semaphore is no available Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 Obtaining the Status of a Semaphore, OSSemQuery INT8U OSSemQuery (OS_EVENT *pevent, OS_SEM_DATA *pdata) • • • pevent: A pointer to the desired semaphore pdata: A pointer to the returned semaphore information Return value: o o o No error pevent is not a semaphore pevent is null Amr Ali Abdel-Naby@2010 Introduction to uCOS-II V2.6 [...]... Abdel-Naby@2010 Introduction to uCOS- II V2. 6 Waiting on a Semaphore (Blocking), OSSemPend void OSSemPend (OS_EVENT *pevent, INT16U timeout, INT8U *err) • • pevent: A pointer to the semaphore to pend to timeout: o o • 0  wait for ever !0  wait with specific timeout err: o o o o o No error Timeout pevent is not a semaphore pevent is null Called from ISR Amr Ali Abdel-Naby@2010 Introduction to uCOS- II V2. 6 Signaling... Amr Ali Abdel-Naby@2010 Introduction to uCOS- II V2. 6 Obtaining the Status of a Semaphore, OSSemQuery INT8U OSSemQuery (OS_EVENT *pevent, OS_SEM_DATA *pdata) • • • pevent: A pointer to the desired semaphore pdata: A pointer to the returned semaphore information Return value: o o o No error pevent is not a semaphore pevent is null Amr Ali Abdel-Naby@2010 Introduction to uCOS- II V2. 6 ... OSSemPost (OS_EVENT *pevent) • • pevent: A pointer to the semaphore to post to Return value: o o o o No error Semaphore overflow pevent is not a semaphore pevent is null Amr Ali Abdel-Naby@2010 Introduction to uCOS- II V2. 6 Getting a Semaphore without Waiting, OSSemAccept INT16U OSSemAccept (OS_EVENT *pevent) • • pevent: A pointer to the semaphore to pend to Return value: o o Count 0  case of error or

Ngày đăng: 10/08/2016, 09:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN