Linux and Android training course

Embedded Linux and Android

Evidence has chosen Linux and Android as reference for several outstanding projects. For this reason we organize training courses focused on how to use and modify these operating systems for your software applications.

View details »

Programming languages and libraries training course

Programming languages and libraries

Everyday Evidence helps developers, teams and organisations in their software projects, providing not only training course on programming languages, but also a professional support.

View details »

ERIKA Enterprise and RTOS training course

ERIKA Enterprise and other RTOS

Together with ERIKA Enterprise, Evidence created a set of training courses to assist developers in their microcontroller-based projects. We will show how to use RTOS to improve your safe critical solutions!

View details »


Embedded Linux and Android software and driver development.

Evidence has chosen Linux and Android as reference for several outstanding projects. We believe in open-source as the perfect solution for embedded operating systems. For these reasons we organize training courses focused on these OS, showing how to customize them for your software application.

Facebook Twitter Google Digg Reddit LinkedIn Pinterest StumbleUpon Email
  • Linux software development

    € 450,00 (+ V.A.T) per person (8 hours)

    The offer includes:
    • Slides and exercises presented;
    • Internet connection;
    • Coffee break;
    • Lunch;

    Download brochure

    Linux software development Program:

    • Useful shell commands
    • gcc compiler and Makefiles
    • How to use git
    • How to uuse gdb debugger
    • Multiprocess programming
    • fork(), vfork(), exec(), exit(), wait(), waitpid(), dup(), dup2()
    • Inter-process comunication: pipe, fifo, segnali, socket
    • Multithread programming
    • Thread management and pthread
    • Synchronization (mutual exclusion, variables condition)
    • Introduction to C++ programming with Boost libraries: smart pointers, thread, asio

  • Embedded Linux Driver development

    € 1.400,00 (+ V.A.T) per person (16 hours)

    The offer includes:
    • Slides and exercises presented;
    • Demo board used for the practical training;
    • Internet connection;
    • Coffee break;
    • Lunch;

    Download brochure

    Embedded Linux Driver development Program:

    • Linux Introduction (history, standard POSIX, GNU)
    • Open-source licenses
    • Problems/Opportunities with Linux on embedded systems
    • The software development environment Evelin SDK/BSP
    • gcc compilers and Makefiles
    • How to use git
    • Development Tools: ldd, file, ltrace, strace, objdump, patch, diff, ctags
    • Bootloader U-Boot: how to compile, variables, commands
    • Kernel: introductions, general overview, release numbering
    • Kernel: architecture, conventions, compilation
    • Kernel: dedicated filesystem, dev, proc, sys), system calls
    • Kernel modules
    • Kernel: memory allocation, lists, devices
    • Kernel multithreading: semaphores and spinlocks
    • Kernel timers
    • nterrupt manager and interrupt handlers
    • Filesystem embedded: Busybox, UbiFS, graphics libraries

Linux and Android

Generic placeholder image

Programming languages and libraries.

As Stroustrup says in an interview "If I had thought of it and had some marketing sense, every computer and just about any gadget would have had a little 'C++ Inside' sticker on it." C++ is one of today's most popular object-oriented programming languages. Everyday Evidence helps developers, teams and organisations in their software projects, providing not only training course on programming languages, but also a professional support.

Facebook Twitter Google Digg Reddit LinkedIn Pinterest StumbleUpon Email
  • Qt software development

    € 250,00 (+ V.A.T) per person (8 hours)

    The offer includes:
    • Slides and exercises presented;
    • Internet connection;
    • Discount for starter-kit board used;
    • Coffee break;
    • Lunch;

    Download brochure

    Qt software development Program:

    • Linux Embedded Introduction
      • What is Linux?
      • The GNU project
      • Open-source licenses
      • Kernel level/user level
      • Useful Linux commands
      • Filesystem structure
      • gcc compiler and make command
      • Compile with Scratchbox
      • Emulation using Qemu
      • Minimal filesystem configuration with Busybox
    • Qt libraries
      • Introduction to Qt Framework
      • Qt modules
      • Qt objects
      • Introspection
      • Signals & Slots
      • Properties
      • Compile using Qmake
      • Widgets
      • Containers and Layouts
      • Qt Designer
      • Demo project using starter-kit provided by Evidence

  • C# software development

    € 250,00 (+ V.A.T) per person (8 hours)

    The offer includes:
    • Slides and exercises presented;
    • Discount for starter-kit board used;
    • Internet connection;
    • Coffee break;
    • Lunch;

    Download brochure

    C# software development Program:

    • C# introduction and main differences with other OO programming languages
    • .NET Framework introduction
    • .NET Compact Framework introduction
    • How to use Visual Studio
    • How to create a GUI with Compact Framework
    • Practical exercises

  • Advanced C++ software development

    € 450,00 (+ V.A.T) per person (8 hours)

    The offer includes:
    • Slides and exercises presented;
    • Internet connection;
    • Coffee break;
    • Lunch;

    Download brochure

    Advanced C++ software development Program:

    • Design patterns
      • Introduction
      • Standards
      • Inheritance vs composition
      • 5 "SOLID" standards
      • Principal patterns of "Gang of Four"
    • Templates
      • Introduction
      • Template MetaProgramming hints
    • Exceptions
      • Usage
      • RAII idiom
    • Boost Libraries
      • Introduction
      • How to install
      • Smart pointers (boost::smart_ptr) and array
      • Multithreading (boost::bind and boost::thread)
      • Networking (boost::asio)
    • Best coding practices
    • The new C++11 standards
      • auto, nullptr, range-based for
      • Lambdas, move constructors, uniform initialization
      • Smart pointers, thread management
    • Testing
      • Unit testing introduction
      • The Google test framework
      • How to use cppcheck


ERIKA Enterprise and other RTOS.

Open-source is the future for software development and Evidence promotes this approach with his customers. The true value added is in the developers skills. ERIKA Enterprise was one of our first products where we decided to share our knowledge. For this reason we released this RTOS with a LGPL, making ERIKA Enterprise the first certified RTOS open-source and royalty-free for automotive. Evidence decided to create a set of training courses to assist developers in their projects. We will show how to use RTOS to improve your safe critical solutions!

Facebook Twitter Google Digg Reddit LinkedIn Pinterest StumbleUpon Email
  • Real time operating system and OSEK/VDX

    € 1.200,00 (+ V.A.T) per person (16 hours)

    The offer includes:
    • Slides and exercises presented;
    • Internet connection;
    • ERIKA Enterprise Virtual machine;
    • Coffee break;
    • Lunch;

    Download brochure

    Real time operating system and OSEK/VDX Program:

    • Introduction to Real Time Operating Systems
      • Basic concepts: A summary of basic concepts on operating systems.
      • Real-time operating systems requirements: flexibility, predictability, efficiency as a high-performance, lower costs and efficient use of resources.
      • Architectural models for flexibility and portability: time constraints and temporal predictability, definitions and applications.
      • Guarantees off-line and on-line, hard and soft deadline. Real-time vs. "as fast as you can".
      • Sharing the stack and control of preemption: to reduce the use of memory in single-chip systems.
      • Time based vs. Event based Scheduling.
      • A taxonomy of scheduling algorithms, models concepts and definitions: hard vs. systems. Soft, static scheduling and dynamic constraints of precedence and exclusion.
      • Examining of the worst case, the basic techniques: evaluation of critical instant and busy period analysis. The problem of Evaluating calculation time.
    • CPU Scheduling
      • Algorithms and theoretical results on scheduling systems single processor: from classical results to policies Rate Monotonic and Deadline Monotonic. Mention of time-triggered systems.
      • Management of shared resources (exclusively), limit the waiting time in the worst case, the problem of the inversion of priorities and algorithms that solve it, the Priority Inheritance in Priority Ceiling and SRP. The case of the Mars Pathfinder.
      • Tutorial: Analysis of schedulability of a series of examples using the tool schedulability RT-Druid, discussion of data related to commercial operating systems and experimental cases.
    • CMemory management in single-processor systems
      • Definition of preemption threshold and use in systems with static and dynamic scheduling.
      • Preemption vs. no preemption or the best of both?
      • The definition of non-preemptive groups and the potential benefits for what concerns the use of the system RAM.
    • OSEK standard, and device drivers
      • Operating Systems Standards: an introduction to the standards of OSEK consortium.
      • Detailed description of the OSEK OS standard, OIL, ORTI.
      • Introduction to standard OSEK COM, NM, and their relationship with the CAN bus.
      • Tutorial: experiments with simple applications on the kernel ERIKA Enterprise that implements an interface compatible with the OSEK OS standard.
      • I/O Management, Interrupt Handling and Device Drivers: I/O management in real-time systems, device drivers and analysis of schedulability.
      • Comments and design techniques for embedded applications using the standard OSEK/VDX.

Generic placeholder image

Scheduled Courses


Check the calendar for the next event!

Facebook Twitter Google Digg Reddit LinkedIn Pinterest StumbleUpon Email

Contacts and Information


Evidence Srl
Via Carducci 56,
San Giuliano Terme,
Pisa, 56010 Italy
P: +39(050) 9911122
F: +39(050) 9910812
info(at)evidence(dot)eu(dot)com

Travel information:
  • By Train: you can buy your ticket using www.trenitalia.it, the Pisa main train station is Pisa centrale. From there you can take a taxi or one Bus (take LAM Rossa bus and get off at Pacinotti 3, after take Navetta E and get off at Carducci 1).
  • By Plane: if you arrive in Pisa International Airport Galileo Galilei (http://www.pisa-airport.com), you can take the train and arrive at Pisa centrale, a taxi or the bus LAM Rossa (get off at Pacinotti 3, after take Navetta E and get off at Carducci 1). If you arrive in Florence International Airport you can find more information here http://www.aeroporto.firenze.it
  • By Car: follow the directions provided by Google map
Accomodation:

Facebook Twitter Google Digg Reddit LinkedIn Pinterest StumbleUpon Email