AVR8

From ERIKA WIKI
Revision as of 14:07, 1 December 2017 by G.serano (talk | contribs) (ERIKA Enterprise v3 and RT-Druid v3 for AVR8)
Jump to: navigation, search

Introduction

Embedded microcontroller units are spreading in thousands of applications, ranging from single to distributed systems, control applications, multimedia, communication, medical applications and many others. Modern microcontrollers, which are growing in computational power, speed and interfacing capabilities, are more and more feeling the need of tools to make the development of complex scalable applications easier.

This manual describes the porting details of the ERIKA Enterprise v3 kernel(s) for the Atmel families of microcontrollers which supports 8/16-bit RISC AVR cores (aka AVR8).

ERIKA Enterprise v3 and RT-Druid v3 for AVR8

Embedded applications often require tight control on the temporal behavior of each single activity in the system. Real-time complex system systems such as Wireless Sensor Networks are nowadays deployed in academic and industrial environments. The very limited set of resources available in the popular hardware platforms, and the diversified domains of WSN applications, require the adoption of an Operating System responding to the following pre-requisites:

  • minimum footprint to fit the limited RAM capacity (of the order of few KB);
  • tunable scheduling algorithm to handle the execution of the tasks;
  • an application interface acting on the kernel layer and well decoupled from OS service implementation.

ERIKA Enterprise v3 and RT-Druid v3 represent the answer of Evidence Srl for the development of scalable real-time applications for AVR8.

ERIKA Enterprise v3 provides AVR8 developers the following features:

  • Traditional RTOS features:
    • Support for four conformance classes to match different application requirements;
    • Support for preemptive and non-preemptive multitasking;
    • Support for fixed priority scheduling;
    • Support for stack sharing techniques, and one-shot task model to reduce the overall stack usage;
    • Support for shared resources;
    • Support for periodic activations using Alarms;
    • Support for centralized Error Handling;
    • Support for hook functions before and after each context switch.
  • RT-Druid development environment
    • Development environment based on the Eclipse IDE;
    • Support for the OIL language for the specification of the RTOS configuration;
    • Graphical configuration plugin to easily generate the OIL configuration file and to easily configure the RTOS parameters;
    • Full integration with the Cygwin development environment to provide a Unix-style scripting environment;
    • Apache ANT scripting support for code generation.
  • AVR8 integration features
    • Support for AVR8 GCC compiler;
    • Support for the following families Atmel MCUs:
    • Support for following boards
    • List of functions:

Integration with other tools for AVR8

ERIKA Enterprise and RT-Druid aims to the best integration with the existing tools for development available from the AVR microcontrollers. RT-Druid will be used to quickly configure the application, setting temporal parameters of real-time tasks, memory requirements, stack allocation and many other parameters. Moreover, RT-Druid generates the application template, and leaves the developer the task to implement the logic of each single task. While programming the application, the developer can exploit the power and flexibility offered by the primitives of the ERIKA Enterprise real-time kernel. ERIKA Enterprise also supports the compiling environments provided by Atmel, providing also direct support for the programming and JTAG solutions of Atmel.

Content of this document

The purpose of this document is to describe all the information needed to create, develop and modify an Erika Enterprise application for the AVR family of microcontrollers.

In particular, the document describes:

  • The design flow which should be used to generate an Erika Enterprise application;
  • The configuration of the development environment;
  • The options which are available to configure the system.

As a final note, all the settings which are explained in this document apply both to Erika Enterprise if not otherwise stated.

Note: If you are looking for a step-by-step / quick guide tutorial on how to use Erika Enterprise and RT-Druid with AVR,
please read the “Erika Enterprise Tutorial for the AVR microcontrollers”, available for download on the Evidence Web site.