Introduction to uCOS II v2 6 m5

15 244 0
Introduction to uCOS II v2 6 m5

Đ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

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

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

Tài liệu cùng người dùng

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

Tài liệu liên quan