9
C/OS-II

C/OS-II - UiO

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: C/OS-II - UiO

šœ‡C/OS-II

Page 2: C/OS-II - UiO

ā€¢ Micro-controller Operating Systems version 2 (1998)

ā€¢ Based on Ī¼C/OS published in 1992

ā€¢ Maintained by Micrium Inc. ā€¢ Acquired by Silicon Labs in 2016

ā€¢ Used in all kinds of applications such as cameras, avionics, high-end audio, medical instrumentation, musical instruments, engine control, industrial robots and many more.

ā€¢ Used in many universities to teach students about real-time systems

Page 3: C/OS-II - UiO

uC/OS-IIā€¢ Controls one of the analytical labs called SAM (Sample

Analysis at MARS)

ā€¢ Investigate the chemical and isotopic composition of the Martian atmosphere and soil.

ā€¢ 20000 lines of C code

ā€¢ Runs on top of Ī¼C/OS-II platformā€¢ Ī¼C/OS-II is off the-shelf except for adoptation of Coldfire

BSP

ā€¢ SW resides in nonvolatile memory

ā€¢ On-board computer is all custom built electronicsā€¢ Radiation tolerant ColdFire CPU

Image Credit: NASA/JPL-Caltech

This image was taken by Front Hazcam: Left B (FHAZ_LEFT_B) onboard NASA's Mars rover Curiosity on Sol 1859 (2017-10-29 08:57:28 UTC).

http://micrium.com/curiosity/

Page 4: C/OS-II - UiO

uC/OS-IIā€¢ Priority-based pre-emptive real-time multitasking operating system

kernelā€¢ Always runs the highest priority task that is ready

ā€¢ Written mainly in ANSI C and intended for use in embedded systemsā€¢ Source code of about 5500 lines.

ā€¢ Very small real-time kernelā€¢ Memory footprint of about 20kB for a fully functional kernel

ā€¢ It can manage up to 64 tasks (56 user tasks)ā€¢ Reserve 8 for uC/OS-IIā€¢ Each task has a unique priority assigned to it,

which means that round-robin scheduling is not supported

ā€¢ Ported to more than 100 different Ī¼P and Ī¼C. (Link)

ā€¢ Supports all type of processors from 8-bit to 64-bit

http://micrium.com/downloadcenter/download-results/?searchterm=ft-book&supported=true

Page 5: C/OS-II - UiO

uC/OS-IIā€¢ Certified for use in avionic products (DO-178B)

ā€¢ ā€œEvery feature, function and line of code has been examined and tested to demonstrate that it is safe and robust enough to be used in safety-critical systems where human life is on the lineā€, J.J.LabrosseMicroC/OS-II The Real-Time Kernel

ā€¢ Permissive, open-source license model, as of February 28, 2020 (Link)ā€¢ Previously: Not freeware nor open source, but free for educational non-commercial use

ā€¢ On March 24, 2009, Micrium released an enhanced product, Ī¼C/OS-IIIā€¢ Unlimited number of tasks and prioritiesā€¢ Round robin scheduling

ā€¢ Provides other middleware software products such as Ī¼C/CAN, Ī¼C/GUI, Ī¼C/FS, Ī¼C/TCP-IP, Ī¼C/USB, Ī¼C/Probe etc.

https://www.micrium.com/micrium-expands-rtos-family-with-Āµcos-iii/

Page 6: C/OS-II - UiO

uC/OS-II Services

ā€¢ Time managementā€¢ Task managementā€¢ Semaphores (Binary and counting)ā€¢ Mutual exclusion semaphores (mutexes)ā€¢ Message mailboxesā€¢ Message queues ā€¢ Event flagsā€¢ Fixed-size memory block manager

Page 7: C/OS-II - UiO

uC/OS-II file structure

Page 8: C/OS-II - UiO

A basic uC/OS-II example

Page 9: C/OS-II - UiO

https://www.freertos.org/index.html

A basic FreeRTOS example