Why to choose us?

All of our trainings are based on hard real-life work of the trainer. Most of the added value comes from our personal experience and corresponds with our previous and present work.

Materials
Training materials are provided to you in paper copies. All examples and code snippets are in an electronic form which makes them very easy to use as references and work-base. You also automatically get updates and newer versions whenever they become available.
Lock-in avoidance
Our trainings and corresponding materials are as much vendor-independent as possible. Obviously there are some aspects where the training has to be based on a specific board. In order to give you a perspective and a sense of as many boards and architectures as possible, we are providing a prepared board emulation software. So some hardware-related development and debugging is prepared in universal fashion, in spite of the problems with hardware suppliers.
Learn by practising
Practical exercises are constructed so that they are not like ‘un-comment the following line’ ones. Instead, instructions indicate precisely the goal you are supposed to achieve. You have to revisit the lecture, sometimes ask the trainer, and think about the ways of achieving the objective yourself. And this means learning by practice! Our proposition of problem solving is always attached to materials.

What will you gain?

We believe that an increasing need to deliver products quickly and cost-effectively while still providing a rich human-centered design are critical for contemporary embedded devices in a wide range of application areas which include: medical, industrial control, and consumer-electronic devices. Our trainings provide you, your development team, and your customers with the portfolio of ready-made, experience-based solutions. You gain the ability to develop and manufacture complex embedded Linux hardware and software solutions in a fraction of the time and cost of traditional embedded and real-time os'es development.

Evaluation reports

We provide our evaluation forms or, upon request, your organization's forms can be used instead. If you choose our evaluation, we will provide you a detailed report up to one week after the completed training.

Technology

All aspects of embedded Linux development are included and described thoroughly.

Embedded Linux Technologies
Hardware
We are utilizing virtualization technology to speed up development and separate ourselves from hardware failures but most hands-on excercises are done using real ARM9 and Corex-A based hardware, including: Atmel AT91 family, BeagleBoard, Freescale i.MX, RaspberryPi, and other platforms.
Linux kernel
Materials are always up-to-date with current Linux version as well as longterm versions and those provided with popular vendor BSPs.
Real-Time
We cover all of the real-time aspects of Linux system. Especially, the process of converting it into fully responsive hard real-time environment for POSIX RT-API based applications. We use PREEMPT-RT to achieve determinism in standard system and also discuss and practice microkernel based approaches: Xenomai and RTAI.
ROOT filesystem
Training covers quite a few methods of creating ROOT-fs. We start from doing it ourselves from scratch, then we heavily utilize Buildroot, as easily maintainable vendor-independent solution. Other methods are introduced to (as they are used in vendor's BSPs): LTIB, OpenWRT, OpenEmbedded, Scratchbox, Debian/ARM, Fedora/ARM.
In-system programming using QT and POSIX API
We are using QT in our projects and we strongly advise you to apply them as well. Our in-depth QT course will let you.
BSP-s and more...
We strongly recommend to automate common and the most error-proning development tasks. We use BSP-s for this. Vendor-specific, or self-developed one.
Our trainings cover various methods of debugging (code errors, memory leaks, race conditions and more) while developing kernel as well as userspace code. We focus on open-source solutions (GDB and its various frontends).
During training, we will be using standard UNIX text editor as our development environment. Eclipse will be used for larger projects.

Development board

Each lecture in our course is followed by a practical hands-on exercises, representing 50% to 60% of the whole course time. Labs are performed on a read embedded board, on which you will progressively implement drivers in the Linux kernel.

i.MX6

WandBoard Dual

Used during public training sessions.

Vast amount of available documentation, many variants of SoC and variety of SoMs makes this board a great platform to learn skills currently needed in on-going projects.

Board features:

  • NXP i.MX6 DualLite ARM® Cortex-A9 Dual Core
  • RAM 1GB DDR3
  • SD card
  • RS232 - USB converter with null-modem cable

For additional fee, Wandboard Dual can be exchanged for more powerful Wandboard Quad.

Linux Drivers Development

Raspberry Pi 3

Offered as a platform for on-site trainings.

Great educational platform to learn advanced skills. Features ARMv8 architecture including many advanced features (TrustZone, virtualization etc.).

Many opensource projects available, assures use of the board in many hobby and professional project.

Board features:

  • Broadcom 1200MHz quad-core ARM Cortex-A53
  • RAM 1024 MB
  • SD card
  • Serial console: TTL - USB converter

During on-site trainings, many other platforms can be also used to fulfill team's needs: i.MX6: Wandboard, MarS Board, UDOO; AM335X: BeagleBone Black SBC8600, Atmel SAMA5-Xplained, Raspberry Pi, Intel Edison and others.

The electronic board is yours to keep at the end of the session. Even long after the course, this allows you to continue to learn and experiment using a well known working base. You can even use your board and what you created during the course to develop your own prototypes.

All examples and applications developed during the training, can be easily ported to other development boards.

Frequently Asked Questions

Q: What is a public training session?

A: Public training session is, quite simply, a course where places ('seats') are open to individuals.
Events are scheduled at training centers in given locations. We provide all training facilities.
We do not provide an accommodation, but we can send you our recommendations regarding various hotel price tags.

If your organization needs flexible timeline and terms, we offer group registration and on-site trainings.

Q: Do I have to pay for the training in advance?

A: No, we just need a formal commitment from you (a purchase order), no advance payment is required.

Q: The session is in just few days, is it too late to register?

A: No, it is not too late. Your commitment can be processed and confirmed very quickly, provided that there are free seats. However, we may ask the participant to bring his/her own laptop for the session, as we may not be able to rent one on time.

Q: How many participants are there in a session?

A: For best quality of training, we try to minimize number of participants in one session. Maximum 12 persons (laptops), typical: 4-8.

Q: What time do the sessions start?

A: Sessions typically start at 9 A.M. and we will keep you busy until 5 P.M.
Last hour is usually devoted to lighter topics, Q&A session, and solving individual problems. Agenda ensures that most important topics are covered by 3 p.m. of the last day. We provide you with coffee breaks and dinner during the seminar day.

Q: Will I get lost during the training if I am not an expert in Linux?

A: No. Our courses require basic skills in the UNIX/Linux environment (command line). Some self-training with our Linux introduction slides and video will definitely make you more efficient.

Q: What is a time proportion of lecture to exercises?

A: Every topic is supported with lots of exercises. Most of the programming exercises rely on finding information, debugging problem, discovering, and coding a solution. Boring parts of coding are already typed in (as a clean and commented code snippets), so your energy is spent only on most important parts. We believe that step-by-step exercises are essential part of our training, so typical ratio is about 50% of time spent on lecture and 50% on exercises.

All code snippets are covered by GPL code, so you can use everything, from simple module stubs, to advanced Real-Time application in your own projects.

Q: What is the language of the classes?

A: Materials, excersises and lectures are provided in English.
Polish is also available on demand.

Q: Do I get a cerificate?

After the training you will receive Certifiacte of completion
Your certificate can be added to your LinkedIn profile

Certificate

1. Scan QR code printed on your certificate.

It encodes validation service link. You will be able to verify authenticity of your certificate.

Certificate validation

2. Certificate validation.

Unique ID allows validation.
We do not gather any personal information.

LinkedIn add to profile

3. Add certificate to your LinkedIn profile.

You have to enter data manually. LinkedIn does not allow auto-filling.
All the information will be found on our site.

LinkedIn profile

4. Certificate will appear in your LinkedIn profile.

Validation link will also be shown.

Modular Training

The Modular training gives you an opportunity to create a seminar which will meet your expectations and fulfil the needs.

You can compile any topic which appears in our standard courses or ask for completely different ones. We will help you to compose a set of subjects which best suit your needs.

Various customizations can be made:

Architectures:
ARM, MIPS, X86, other embedded solutions
Boards:
Atmel, NXP, TI, ST, Broadcom ... and many more
Variants:
Maybe your applications need accelerated 2D/3D graphics, specialized DSP or other similar IP-core?

Do not hesitate to: contact us