Trainings and courses

Knowledge and competencies are crucial components within every modern company. Keeping knowledge up to date is very important to keep a company decisive and competitive.

A tailor-made business course is the ideal method to effectively and purposefully increase the level of knowledge in a company.

Upon request, Kiwanda Embedded Systems can provide courses and training in the field of embedded hardware/software development.

Kiwanda Embedded Systems has years of experience in providing higher technical education for the training ESE (Embedded Systems Engineering) of the Arnhem and Nijmegen University of Applied Sciences and Electrical Engineering NCOI Courses.

The following course topics are available:

1. An Embedded Software Engineering intro

Finding and training good embedded software engineers is a challenge. The supply of suitable candidates is smaller than the demand on the market and sometimes it is necessary to hire candidates from other software disciplines (desktop/mobile/web) to carry out the work at hand.

In this day course, engineers who are starting out in embedded software development are brought up to speed in some topics where their expertise is not yet fully developed. With the knowledge from this course they can grow into a more experienced and senior role. The following matters are discussed:

  • introduction to C programming for embedded systems. Key points of software development, limited by the specific hardware requirements of microcontrollers. What interventions are needed to independently set up a microcontroller project for any microcontroller?
  • Deployment of a Real Time Operating System (RTOS) on a microcontroller. How does an RTOS differ from a Desktop OS such as Windows or Linux? What are the benefits of using an RTOS?
  • Microcontroller Peripheral Driver development in combination with the use of an RTOS. How can an RTOS be used with Direct Memory Access (DMA).

The daily program of the course can be adapted to the customer's wishes. Essentially it looks like the example program.

  • Course duration: 8 hours.
  • Price: this depends on the number of participants and customer wishes. In the basic setup, with a maximum of 6 participants: €1000 incl. VAT. Contact us for a quote !

2. Setting up a professional Embedded Software Engineering IDE based on CMake and CLion.

Are you hindered in your software development by tooling and project management that do not match business operations and the desired output? Do you find it difficult to implement improvements with common IDEs and tooling that are common in embedded software development? Are you afraid of the investment required to start embedded software development? Are the costs of your tools increasing?

Embedded software development is possible better and more flexible, at lower costs and with an increase in productivity.

Kiwanda Embedded Systems shows you in a day course how a professional, fast and very flexible embedded software environment can be set up that does not have the above disadvantages.

During the course it is explained how:

  • For free GNU tooling is installed on your workstation of choice – Windows, Mac OS
  • A CMake project execution (for cross-compilation but can also be used for standard compilation) is being built up.
  • A powerful development IDE in combination with CMake is used.
  • Debugging and flashing of the target using Segger tools is made possible.

Afterwards, the student will have a working cross-compile system to use software for STM32F072 microcontroller to compile. This system is easy to expand or convert to your own needs.

The daily program of the course can be adapted to the customer's wishes. Essentially it looks like the example program.

  • Course duration: 8 hours.
  • Price: this depends on the number of participants and customer wishes. In the basic setup, with a maximum of 6 participants: €1100 incl. VAT. Contact us for a quote !

3. Advanced Embedded Software Engineering in C and C++

Every embedded software engineer will benefit from this course! When writing software, it is very important to have the knowledge and skills to optimally implement a desired software structure, because an embedded platform often imposes hardware limitations that must be circumvented in software. This course therefore covers topics that will help the embedded software engineer be better prepared when implementing software on his platform:

  • Learn to understand microcontroller architecture from the context of the programming language. Structure software so that the compiled binary performs optimally and has the smallest possible size.
  • Which C language constructions are and are not sensible in embedded software? How do I prevent mistakes? Learn optimal programming by structuring and applying habits. How do you go from a “migrated desktop software engineer” to a real embedded software engineer?
  • Knowledge and application of compiler and linker options to drive bug finding, code optimizations and binary size.
  • Software engineering principles: which execution flow is the best way to implement embedded functionality?
  • Debugging and testing on a microcontroller – defensive programming reduces integration and release errors at an early stage.
  • The transition from C to C++: when does C++ make sense and why is it increasingly used? What benefits can be achieved? What are the points to consider when converting from C to C++? A case study why C++ is the better embedded C.

Here too, the daily program of the course can be adapted to the customer's wishes. The sample program of this day course is the basis.

  • Course duration: 8 hours.
  • Price: this depends on the number of participants and customer wishes. In the basic setup, with a maximum of 6 participants: €1200 incl. VAT. Contact us for a quote !