basic concept Micro C/OS-II kernel in ARM powered microcontroller


Chapter 4
C/OS-II
4.1. Why we choose Micrium µC/OS-II
      Written in ANSI C
     Source code provided
     Consistent coding style
      Pre-emptive
      Deterministic
      Royalty-free
     Licensed on a per-end-product basis
      Extensive Documentation and Support
      Meets requirements of Safety-Critical Systems
      Large user base
     Used in hundreds of products all over the world
 4.2. C/OS-II
Written by Jean J. Labrosse in ANSI C .A portable, ROMable, scalable, preemptive, real-time, multitasking kernel .Used in hundreds of products since its introduction in 1992[1] .Certified by the FAA for use in commercial aircraft .Available in ARM Firmware Suite (AFS) .Over 90 ports for free download
4.2.1. Overview to µC/OS-II
MicroC/OS-II (commonly termed µC/OS-II or uC/OS-II), is a low-cost priority-based pre-emptive real time multitasking operating system kernel for microprocessors, written mainly in the C programming language. It is mainly intended for use in embedded systems. UC/OS-II is currently maintained by Micrium Inc. and can be licensed on as per product or product line basis. Use of the operating system is free for educational non-commercial use. Additionally, Micrium provides other middleware software products such as uC/OS-View, uC/CAN, uC/TCP-IP, uC/FS, uC/GUI, uC/MOD-BUS, uC/LCD, uC/USB (Mass Storage Device and Bulk) and a large assortment of uC/TCP-IP applications such as client software for DHCP, POP3, SNTP, FTP, TFTP, DNS, SMTP, and TTCP [1]. Server software includes HTTP, FTP, and TFTP. PPP is also available.
To describes the design and implementation of µC/OS-II (pronounced "Micro C O S 2"), which stands for Microcontroller Operating System Version 2. µC/OS-II is based on µC/OS, The Real-Time Kernel that was first published in 1992. Thousands of people around the world are using µC/OS in all kinds of applications, such as cameras, medical instruments, musical instruments, engine controls, network adapters, highway telephone call boxes, ATM machines, industrial robots, and more. Numerous colleges and universities also have used µC/OS to teach students about real-time systems.
             µC/OS-II is upward compatible with µC/OS V1.11 but provides many improvements, such as the addition of a fixed-sized memory manager; user-definable callouts on task creation, task deletion, task switch, and system tick; TCB extensions support; stack checking; and much more. I also added comments to just about every function, and I made µC/OS-II much easier to port to different processors. The source code in µC/OS was placed in two files. Because µC/OS-II contains many new features and functions, I decided to split µC/OS-II into a few source files to make the code easier to maintain.
 4.2.2. MicroC/OS using ARM
µC/OS-II, The Real-Time Kernel is a highly portable, ROMable, very scalable, preemptive real-time, multitasking kernel (RTOS) for microprocessors and microcontrollers. µC/OS-II can manage up to 250 application tasks. A validation suite has been developed for µC/OS-II and provides all the documentation necessary to prove that µC/OS-II is suitable for Safety Critical Systems common to Aviation and Medical products. Although this feature may not be applicable to your needs, it does prove that µC/OS-II is a very robust RTOS.
 µC/OS-II runs on a large number of processor architectures and ports. The vast number of ports should convince you that µC/OS-II is truly very portable and thus will most likely be ported to new processors as they become available.
 µC/OS-II can be scaled to only contain the features you need for your application and thus provide a small footprint. Depending on the processor, on an ARM (Thumb mode) µC/OS-II can be reduced to as little as 6K bytes of code space and 500 bytes of data space (excluding stacks).
            The execution time for most of the services provided by µC/OS-II is both constant and deterministic [2]. This means that the execution times do not depend on the number of tasks running in your application. µC/OS-II has been used in hundreds of products from companies all around the world are also using µC/OS-II in curriculum teaching the subject of real-time systems. This ensures that engineers in the workplace are trained and ready to use µC/OS-II in your products.

0 comments:

Post a Comment