Zilog Real-Time Kernel

Similar documents
ZiLOG Real-Time Kernel Version 1.2.0

An Automatic Temperature Control System Using RZK

Zilog TCP/IP Software Suite

ez80f91 Modular Development Kit

EEPROM Emulation with the ez80f91 MCU. Discussion

Z8 Encore! XP F0822 Series

S3 Flash In-System Programmer

Challenge. Hardware Circuit Details. Solution. Result. Features and Functions. Z8 Encore! MC

Character LCD Interface for ez80acclaim! MCUs

Flash Loader Utility for the Z8 Encore! XP MCU

Z8 Encore! XP/Z8 Encore! Development Kits

Getting Started with ESPI Interface Using the Z8 Encore! XP F1680

Z8 Encore! XP F1680 Series 8-Bit Flash Solution with Extended Peripherals

ez80 Family of Microprocessors Zilog File System User Manual UM Copyright 2007 by Zilog, Inc. All rights reserved.

ZCRMZNICE01ZEMG Crimzon In-Circuit Emulator

An SPI Temperature Sensor Interface with the Z8 Encore! SPI Bus

High Resolution Digital Weigh-Scale Design Using Z8 Encore! Microcontrollers

Zatara Series ARM ASSP High-Performance 32-bit Solution for Secure Transactions

Set Up a PLL Loop Filter on the ez80f91 MCU

Ethernet Smart Cable

Efficiency and memory footprint of Xilkernel for the Microblaze soft processor

ZLF645 Crimzon Flash Microcontroller with ZBase Database Industry Leading Universal Infrared Remote Control (UIR) Solution

Universal Motor Control with Z8 Encore! XP 8-Pin Highly Integrated Microcontroller

Chapter 19: Real-Time Systems. Operating System Concepts 8 th Edition,

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin

Stellaris Robotic Evaluation Board and Micriµm µc/os-iii

A Simple Console Application for Z8 Encore! XP MCUs

Interfacing Z8 Encore! XP MCUs with an I 2 C-Based Character LCD

GLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1

Boot Loader for the Z51F6412 MCU

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

High-Performance 8-Bit Microcontrollers. Up to 8 10-Bit ADC Channels. Two 16-Bit Timers/PWM. Internal Precision Oscillator

Serial Communication Controllers (SCC) MULTIPROTOCOL DATA COMMUNICATION SOLUTIONS

Z8 Encore! XP 4K Series with extended Peripherals

Product Update. Errata to Z8 Encore! 8K Series Silicon. Z8 Encore! 8K Series Silicon with Date Codes 0402 and Later

Embedded Operating Systems

5x7 LED Matrix Display with Z8 Encore! XP


Using an ez80 Flash Memory File System

Real-Time Programming

Tasks. Task Implementation and management

TI-RTOS overview. Nick Lethaby, TI-RTOS and IoT Ecosystem. May 2015

REAL TIME OPERATING SYSTEMS: A COMPLETE OVERVIEW

Z8 Encore! XP Family of Microcontrollers Development Kits

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4

ATECC108/ATSHA204 USER GUIDE. Atmel Firmware Library. Features. Introduction

ZMOTION Detection Module Development Kit

ez80 Webserver Write your own EMAC Driver for Metro IPWorks

Using the FreeRTOS Real Time Kernel

Using the FreeRTOS Real Time Kernel

Measuring Interrupt Latency

Micrium µc/os II RTOS Introduction EE J. E. Lumpp

ez80190 Development Kit Quick Start Guide

S3F8S5A Development Kit

VORAGO VA108xx FreeRTOS port application note

Contents. List of Figures... vi. List of Code Listings... viii. List of Tables... xi. List of Notation... xii

AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Features. Introduction. AVR 8-bit Microcontrollers APPLICATION NOTE

Using the Z8051 MCU s USI Peripheral as an SPI Interface

Exam TI2720-C/TI2725-C Embedded Software

embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.1 Revision: 0 Date: May 3, 2018

Introduction to Real-Time Operating Systems

Z8 Encore! XP F0822 Series Development Kit

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1

embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017

Nios II. uc/os-ii porting with Nios II Altera Corporation

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

Problem Set: Processes

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3.

Lecture 3: Concurrency & Tasking

BOOST YOUR SYSTEM PERFORMANCE USING THE ZILOG ESCC CONTROLLER

Processes and Threads

Mobile Operating Systems Lesson 01 Operating System

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Multiprocessor and Real- Time Scheduling. Chapter 10

Process Monitoring in Operating System Linux

Embedded System Curriculum

ATAES132A Firmware Development Library. Introduction. Features. Atmel CryptoAuthentication USER GUIDE

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter

Real-time for Windows NT

Micriμm. Getting Started with Micriμm s. Matt Gordon, Sr. Applications Engineer. 9L05I Renesas Electronics America Inc.

CSE 153 Design of Operating Systems

ez80f92/f93 Product Brief

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

Embedded Systems: OS

Handout. The ARM Instruction Set. Real Time Systems. Real Time Operating Systems. Real Time System Organization. Classification of Real Time Systems

Short Term Courses (Including Project Work)

Systemy RT i embedded Wykład 11 Systemy RTOS

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document C28X CCS

MLR INSTITUTE OF TECHNOLOGY DUNDIGAL , HYDERABAD QUESTION BANK

2.5 Timers Continuous Clock Task Timers Application Timers Memory Management

2. Introduction to Software for Embedded Systems

EE458 - Embedded Systems Exceptions and Interrupts

Process Scheduling Queues

2 Principal Architect EDU,QuEST Global, Thiruvananthapuram

Reference Model and Scheduling Policies for Real-Time Systems

6/20/2018. Lecture 2: Platforms & RTOS. Outline. Lab Setup (20 min) Labs work. Lecture: Platform + RTOS

Announcements. Program #1. Reading. Due 2/15 at 5:00 pm. Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed)

Operating Systems Overview. Chapter 2

POSIX in Real-Time. By Kevin M. Obenland 03/15/2001. Daniel Correia nºmec Carlos Guisado nºmec 49099

REAL TIME OPERATING SYSTEM PROGRAMMING-I: VxWorks

Transcription:

An Company Configurable Compilation RZK allows you to specify system parameters at compile time. For example, the number of objects, such as threads and semaphores required, are specez80acclaim! Family of Microcontrollers Zilog Real-Time Kernel Product Brief PB0155010-0910 Introduction Zilog Real-Time Kernel (RZK) is a real-time, preemptive, and multitasking kernel designed for time-critical embedded applications. It is currently available for Zilog's ez80acclaim! family of microcontrollers. RZK 2.3.0 is now released as an integrated verion along with ZDS II ez80acclaim! 5.0.0. RZK is installed automatically with the ZDS II ez80acclaim! 5.0.0. installation. Features Key features of RZK include: Fast context switching Small memory footprint Modular design Configurable compile options Portable design Interrupt handling Threads with 32 priority levels Support for priority inheritance Interprocess communication using Semaphores, Message Queues, and Event Groups Software timer Memory management Device driver framework, which includes drivers for UART, EMAC, SPI, I 2 C, WLAN, and RTC for ez80acclaim! Drivers for USB device Zilog File System These features are customized to the requirements of typical 8-bit applications. The following sections describe these features in detail. Fast Context Switching RZK allows context switching between threads in approximately 12 µs (measured on an ez80f91 MCU operating with one wait state at 50 MHz). This interval includes the time required to identify the next ready-to-run thread as well as to save and restore the context of the two threads. This results in a very low system overhead. Context switching time exhibits negligible variation as the number of threads increases. Small Memory Footprint RZK offers a very low memory footprint. The basic kernel and thread occupies only 9 KB of ROM. Other objects such as semaphores and threads are optionally linked to the kernel. Additional objects are optimized for minimum memory requirements the full version of RZK occupies about 21 KB of ROM. The minimum RAM required is 1 KB. Modular Design The modular design of RZK allows minimal footprint increase when using the object library. The RZK binary image file is prepared in such a way that only objects required by the application are linked. Interdependency between modules is very minimal. Therefore, only the objects that are used in the application are included in the final downloadable binary image. Copyright 2010 by Zilog, Inc. All rights reserved. www.zilog.com

ified at compile time. RZK allocates memory for object control blocks based on the number of objects specified in the configuration file. Features such as debug support and priority inheritance support are enabled or disabled at compile time. In addition, the duration of the RZK system timer tick is configurable. These compile-time configuration options make RZK fully configurable, and enables you to fine tune RZK to application requirements. Portable Design Most of RZK is written in C language. To improve RZK performance, some critical routines are written in assembly language. Only the files, which are written in assembly language must be changed when RZK is ported to a new platform. As a result, porting operations are minimized. Interrupt Handling RZK manages all interrupt-related tasks. It provides application programming interface (APIs) to install an interrupt service routine (ISR) for a particular peripheral device, and to conditionally enable and disable interrupts. The interrupthandling mechanism allows ISR execution in a separate thread to minimize worst-case system interrupt latency. Worst-case system interrupt latency for RZK is approximately 30 s. Threads with 32 Priority Levels RZK provides preemptive and non-preemptive threads. These threads, either preempt other threads based on priority, or share the CPU among equal-priority threads using round-robin scheduling. Thread priority is changed at run-time. Support for Priority Inheritance RZK supports a priority inheritance protocol to solve a priority inversion problem common in binary semaphores. A low-priority thread that owns a particular semaphore inherits the priority of the high-priority thread, which is also trying to acquire the same semaphore. RZK also provides solutions for both unbounded and bounded priority inversion. Interprocess Communication RZK offers various mechanisms for communication and synchronization between threads. These are described in Semaphores, Message Queues, and Event Groups sections. Semaphores RZK provides support for both binary and counting semaphores. A priority inheritance protocol is used to emerge from deadlock scenarios. Message Queues RZK provides message queues for asynchronous communication between threads. It supports buffered message copying. High-priority messages are placed in front of the message queue. Threads wait on the message queue based on their priority or based on FIFO. Event Groups Event groups are provided for control synchronization and do not contain any information. An event group accommodates a maximum of 24 events. This mechanism is useful for synchronizing multiple threads based on specific events. Software Timer RZK provides software timers to invoke tasks at periodic intervals. RZK maintains a system timer tick with the help of a hardware timer device that enables RZK threads to run the software timer, perform timed blocks on resources, and support clock functions. Memory Management Fixed-size memory pools are provided for deterministic memory allocation, which is useful for time-critical applications. RZK also supports variable-size memory allocation with feature such as finite and infinite blocking. RZK Device Driver Kit A device driver framework is provided to support the development of drivers for most of the peripherals on the ez80acclaim! product line. This support includes a board support package PB0155010-0910 Page 2 of 6

consisting of drivers for UART, EMAC, SPI, I 2 C, WLAN, and RTC in all ez80acclaim! and ez80l92 platforms, and also includes the USB device driver for ez80acclaim! MCU. It also provides drivers for different NOR Flash devices that provide simple-to-use APIs for interacting with devices equipped with Flash memory. Zilog File System RZK includes a file system to manage both RAM and Flash media on ez80acclaim! platforms. This file system allows you to store files in RAM or Flash media and perform any file-related operations such as read, write, or append to the stored files. It also provides full-fledged directory operations, along with power-failure mode support. Network Services Using RZK, a full-fledged TCP/IP stack is developed, which offers basic as well as advanced networking features for low-cost embedded networking applications. Architecture Figure 1 displays the RZK architecture that follows a layered approach. The lowest layer is the RZK Core, which provides basic kernel services as described below: The Resource Queue Manager keeps track of threads waiting for resources. The Scheduler schedules and dispatches threads based on a scheduling policy. The RZK Core also features hardwaredependent files that are specific to particular architectures. The Time Queue Manager provides facilities such as the Timed Wait and Sleep functions. Above the RZK Core layer are the RZK objects, which are used by the application using an API. RZK objects use the kernel services of the RZK Core for resource management. These kernel services provide a set of easy-to-use APIs that allows your application to manage different activities. User Application Threads Timers Interprocess Communication Mechanisms Message Queues Semaphores Event Groups Memory Partitions Regions Interrupts Device Driver Framework Zilog Interrupts File System RZK Core Device Driver Flash Driver Hardware (ez80 Family of MPUs) Flash Device Figure 1. Zilog Real-Time Kernel Architecture PB0155010-0910 Page 3 of 6

The RZK Object libraries comprises a number of optional RZK objects, such as threads, semaphores, and memory management. The design of individual modules inside the library is extremely modular. Unless an application specifically uses an RZK object, it is not included in the final binary image. This modular approach reduces the final footprint of your application. An application accesses RZK services using a set of easy-to-use APIs. The layered architecture of RZK makes it scalable, and allows you to plug in new features. RZK Sample Applications The standard RZK package provides several sample applications that demonstrate various features of the RZK for easy reference. Router Example This application simulates a data router using relevant RZK objects on ez80 to demonstrate the routing of packets and messages. The example provided below demonstrates the following RZK features: Thread communication with message queues. Thread synchronization with semaphores and event groups. Use of timers. Use of memory partitions. Interrupt Example This application demonstrates an interrupt in the RZK environment that is used to synchronize and display a message by an idle thread. This package also contains examples that demonstrate the use of UART and RTC drivers. It also contains the interactive Zilog File System shell that implements file and directory operations that are similar to DOS commands such as md, cd, dir, del, deldir, and deltree. Development Tools RZK is supported by the Zilog Developer Studio Integrated Development Environment (ZDS II IDE), that provides compiling, debugging, projectbuilding, and Flash loading tools for the quick and efficient development of embedded applications. ZDS II is included in all ez80acclaim! development kits. Packaging RZK is packaged with the ZDS II ez80acclaim! IDE. The standard RZK package for ez80accliam! microcontrollers is supplied as a C object library module with sample applications. Documentation The following documents describe the features, functions, and usage of RZK. These documents are available in each RZK kit: Zilog Real-Time Kernel Quick Start Guide (QS0048) Enables you to install the RZK software. It guides you through a sample application. Zilog Real-Time Kernel User Manual (UM0075) Provides a detailed explanation of the different RZK configurations and sample applications. It also contains a section that analyzes RZK performance numbers and FAQs. Zilog Real-Time Kernel Reference Manual (RM0006) Provides a comprehensive explanation of the APIs and data structures provided by RZK. PB0155010-0910 Page 4 of 6

Ordering Information RZK Package Part Number Description Support Standard Release NA NA Free support available on www.zilog.com Source Release ez800000100kts ZDS II ez80acclaim! 5.0.0 Note: The RZK source and library are provided as integrated versions with ZDS II ez80acclaim! 5.0.0. PB0155010-0910 Page 5 of 6

Warning: DO NOT USE IN LIFE SUPPORT LIFE SUPPORT POLICY ZILOG'S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS PRIOR WRITTEN APPROVAL OF THE PRESIDENT AND GENERAL COUNSEL OF ZILOG CORPORATION. As used herein Life support devices or systems are devices which (a) are intended for surgical implant into the body, or (b) support or sustain life and whose failure to perform when properly used in accordance with instructions for use provided in the labeling can be reasonably expected to result in a significant injury to the user. A critical component is any component in a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system or to affect its safety or effectiveness. Document Disclaimer 2010 by Zilog, Inc. All rights reserved. Information in this publication concerning the devices, applications, or technology described is intended to suggest possible uses and may be superseded. ZILOG, INC. DOES NOT ASSUME LIABILITY FOR OR PROVIDE A REPRESENTATION OF ACCURACY OF THE INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED IN THIS DOCUMENT. ZILOG ALSO DOES NOT ASSUME LIABILITY FOR INTELLECTUAL PROPERTY INFRINGEMENT RELATED IN ANY MANNER TO USE OF INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED HEREIN OR OTHERWISE. The information contained within this document has been verified according to the general principles of electrical and mechanical engineering. ez80 and ez80acclaim! are registered trademarks of Zilog, Inc. All other product or service names are the property of their respective owners. PB0155010-0910 Page 6 of 6