Learnit Training
Course C/C++ Embedded Development
  • Small groups
  • Covid-19 safe
  • Experienced teacher
  • Possible online
  • Practical training

Embedded software zit in bijna elk elektronisch apparaat wat je vandaag de dag kan vinden. De software zit verstopt in horloges, magnetrons, mobiele telefoons. Het is dan ook een veelgevraagde en handige techniek voor software engineers.

Yes, I want to know more

"An excellent training, with good balance between theory and practice."-Rating: 8.4

learnit C/C++ Embedded Development

Course C/C++ Embedded Development

In This course you'll learn how to use the C and C++ programming languages to quickly start writing embedded software for embedded systems.

Why the course C/C++ embedded development?

Embedded software is in almost every electronic device you can find today. The software is hidden in watches, microwaves, mobile phones, but also many military applications, communication satellites and the production of modern medicines would not be possible without this software.

Each ' embedded system ' is unique and accurately tuned to an application. There are countless possibilities for embedded software and embedded systems. Its programming is therefore a much needed and extremely useful technique for software engineers. The varied field of work, however, makes it difficult to master the technique quickly and to be able to apply it. The C/C++ Embedded Development Course shows you how to quickly start writing Embedded software using the C and C++ programming languages.

C and C++ are ideal programming languages to make programming applications for embedded systems fast manageable. Do you have the basic knowledge of C/C++ and some experience in C programming and would you like to learn how to apply this to master the basics of embedded development? Then this four-day course is the ideal way to do this.

Program during training

Day 1:

  • What is an embedded system?
  • The characteristics of an embedded system
  • Microprocessor versus Microcontroller
  • Embedded Processors
  • System architectures
  • Control Unit and DataPath
  • Control and Status Registers
  • Intstruction Cycles
  • Pipelining
  • Superranger and VLIW architectures
  • RAM, ROM, EPROM, SRAM and Flash memory.
  • Memory hierarchy

Day 2:

  • Tools and toolchains for embedded systems
  • Embedded Programming languages
  • Assembly language, C and C++ for embedded systems
  • Compilation and linkage Relocation
  • Compiler Requirements
  • Registry access
  • Libraries
  • Assemble inline
  • Memory problems
  • Heaps and stacks
  • Macros
  • Compiler optimization
  • Loading problems
  • Booting an embedded system
  • Code optimization
  • Debugging
  • Remote debugging
  • Emulators and analyzers
  • JTAG debugging
  • Test

Day 3:

  • Embedded operation systems and task schedulers
  • OS architectures
  • OS Configuration
  • Interrupts, Device drivers
  • Making a process
  • Processes and their status
  • Protection
  • Threads
  • Multitasking
  • Cooperative versus pre-emptive multitasking
  • Context switching
  • Scheduling policies
  • Hard and soft realtime behaviour
  • Task Synchronisation
  • Rate Monotonic Scheduling
  • Deadlock and Priority inversion
  • Hardware initialization

Day 4:

  • I/O adressing
  • Memory mapped I/O vs. Standard I/O
  • Interrupt Servive Routines
  • Fixed vs. vectored interrupt
  • Maskable-vs. non-maskable interrupt
  • Direct Memory Access
  • Memory transfers with and without DMA Arbitration
  • Multi level Bus architectures
  • Error Detection and correction
  • Digital-Analog Conversion
  • Serial, parallel, wireless protocols
  • I2C, Can, Firewire, USB, PCI, irDA, Bluetooth
  • Pulse Width Modulation
  • Timers


This course is intended for software engineers who want to use C/C++ to develop applications on embedded systems.

Lesvorm and teacher

The course is taught by a teacher with extensive experience in the development of software for embedded systems and the use of C/C++.

The theory in the course is alternated by hands-on training on a Texas instruments MSP432 Development Board with an ARM Cortex Processor.

Prior knowledge

Participation in this course requires knowledge of the basic concepts of C and C++ as well as programming experience in C.

Please also note that many English language concepts are used during this course. Any affinity with the English language is therefore desirable.


The training is provided by default in Dutch. The trainer controls the English language. English course material can be used. When registering at least 3 participants, the training can also be provided entirely in English.


Mentioned prices are per person, including course material. Lunch is included in the training on location.

On location Online
Duration 4 days 8 sessions
Price per day, excl. VAT € 475,- € 390,-
Total, incl. VAT € 2299,- € 1887,60


After completing the training, a LEARNIT certificate will be issued as proof of participation.


We organiseren deze training ook online. Hiervoor maken we gebruik van Webbex of Zoom. Inloggen met Skype is ook mogelijk. Op verzoek kan deze training ook met Microsoft Teams worden georganiseerd.

Groningen Tuesday 28 July 2020, 10:00-17:00

  • Until one year after the training you can participate for free.
  • Against payment of the catering costs you can also participate in a classroom training.


De cursus C/C++ Embedded development is beoordeeld met een gemiddelde van 8.

“Een training op maat door een deskundig, ervaren en gemotiveerde trainer. Een goede afwisseling tussen theorie en praktijk.” - Be­oor­de­ling: 8.0

Rowan Klein Gunnewiek, Nedap N.V. - C/C++ Embedded development

“Ik vind de cursus zeer geschikt voor wie de wereld van embedded system wil begrijpen. De 4 dagen waren wel nodig, er zijn tal van onderwerpen besproken. Zeer interessant.” - Be­oor­de­ling: 8.2

M. Brinker, Ericsson ETM - C/C++ Embedded development

“Een zeer goede inleiding tot embedded control.” - Be­oor­de­ling: 8.1

O. Einfinger, FMTC - C/C++ Embedded development

“Een goede c / embedded c beginnerscursus, waar snel door de stof wordt gegaan, waardoor er veel stof behandeld kan worden. Er is voldoende afwisseling tussen theorie en praktijk. Deze cursus is ook geschikt voor mensen met enige (hobby) programmeer ervaring.” - Be­oor­de­ling: 8.3

Kiman Velt, Nedap N.V. - C/C++ Embedded development

“Een uitstekende training, met goede balans tussen theorie en praktijk.” - Be­oor­de­ling: 8.4

R. van Bemmelen - C/C++ Embedded development

“De cursus heeft mij een goede start gegeven om het embedded systeem, waar ik op het bedrijf mee werk, beter te leren begrijpen.” - Be­oor­de­ling: 8.0

R. van Putten, Rhosonics Analytical BV - C/C++ Embedded development