Learnit Training

Cursus C/C++ Embedded development Live Online

In deze cursus leer je hoe je met behulp van de programmeertalen C en C++ snel kunt beginnen met het schrijven van embedded software voor embedded systems.

Waarom de cursus C/C++ embedded development?

Embedded software zit in bijna elk elektronisch apparaat dat je vandaag de dag kunt vinden. De software zit verstopt in horloges, magnetrons, mobiele telefoons, maar ook veel militaire toepassingen, communicatiesatellieten en de productie van moderne medicijnen zouden niet mogelijk zijn zonder deze software.

Elk 'embedded system' is uniek en nauwkeurig afgestemd op een applicatie. Er zijn oneindig veel mogelijkheden voor embedded software en embedded systems. Het programmeren ervan is dan ook een veelgevraagde en uiterst handige techniek voor software engineers. Het gevarieerde werkveld maakt het echter lastig om de techniek snel meester te maken en te kunnen toepassen. De cursus C/C++ Embedded Development laat je zien hoe je toch snel kunt beginnen met het schrijven van embedded software met behulp van de programmeertalen C en C++.

C en C++ zijn ideale programmeertalen om het programmeren van applicaties voor embedded systems snel behapbaar te maken. Heb je de basiskennis van C/C++ en enige ervaring met het programmeren in C en wil je leren hoe je dit kunt toepassen om de basisprincipes van embedded development onder de knie te krijgen? Dan is deze vierdaagse cursus de ideale manier om dit te doen.

Programma tijdens de training

Dag 1:

  • Wat is een embedded system?
  • De karakteristieken van een embedded system
  • Microprocessor versus microcontroller
  • Embedded processors
  • System architectures
  • Control Unit en datapath
  • Control en status registers
  • Intstruction cycles
  • Pipelining
  • Superscalar en VLIW Architectures
  • ASIPS
  • RAM, ROM, EPROM, SRAM en Flash geheugen.
  • Geheugen hiërarchie

Dag 2:

  • Tools en toolchains voor embedded systems
  • Embedded programmeertalen
  • Assembleertaal, C en C++ voor embedded systems
  • Compilation en linkage Relocation
  • Compiler requirements
  • Register access
  • Libraries
  • Inline assembleren
  • Geheugenproblemen
  • Heaps and stacks
  • Macro’s
  • Compiler optimalisatie
  • Problemen met laden
  • Het booten van een embedded system
  • Code optimalisatie
  • Debugging
  • Remote debugging
  • Emulators en analyzers
  • JTAG Debugging
  • Testen

Dag 3:

  • Embedded operation systems en task schedulers
  • OS architectures
  • OS configuratie
  • Interrupts, Device drivers
  • Het maken van een proces
  • Processen en hun status
  • Bescherming
  • Threads
  • Multitasking
  • Cooperative tegenover pre-emptive multitasking
  • Context switching
  • Scheduling policies
  • Hard and soft realtime behaviour
  • Task synchronisation
  • Rate Monotonic scheduling
  • Deadlock and priority inversion
  • Hardware initialisatie

Dag 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 met en zonder DMA Arbitration
  • Multilevel bus architectures
  • Error detectie en correctie
  • Digital-Analog conversion
  • Serial, parallel, wireless protocols
  • I2C, Can, Firewire, USB, PCI, irDA, Bluetooth
  • Pulse Width Modulation
  • Timers

Doelgroep

Deze cursus is bestemd voor software engineers die C/C++ willen gebruiken voor het ontwikkelen van applicaties op embedded systems.

Lesvorm en docent

De cursus wordt gegeven door een docent met ruime ervaring op het gebied van het ontwikkelen van software voor embedded systems en het gebruik van C/C++.

De theorie in de cursus wordt afgewisseld door hands-on training op een Texas Instruments MSP432 ontwikkelbord met een ARM Cortex Processor.

Voorkennis

Voor deelname aan deze cursus is kennis van de basisconcepten van C en C++ vereist evenals programmeerervaring in C.

Houdt er eveneens rekening mee dat er tijdens deze cursus veel Engelstalige begrippen gebruikt worden. Enige affiniteit met de Engelse taal is daarom gewenst.

Lesvorm

Deze training wordt via internet gegeven, live, door een trainer. Je kunt vanuit huis inloggen en de trainer zal je actief begeleiden samen met andere deelnemers.

Deelname aan een online training van Learnit is laagdrempelig en niet ingewikkeld. We maken hiervoor gebruik van de software van Zoom. Bekijk hier de animatie.

Er is voldoende tijd voor vragen en interactie met de andere deelnemers. Je kunt de training volgen vanaf een laptop, pc of een mobiel device. We raden een laptop of pc met microfoon en webcam aan. Op een laptop zijn deze meestal al aanwezig. Je kunt ervoor kiezen of je wel of geen gebruik wilt maken van je eigen videobeeld en geluid. Je hoeft dus niet zelf in beeld.

Taal

De training wordt standaard verzorgd in het Nederlands. De trainer beheerst de Engelse taal. Er kan gebruik gemaakt worden van Engelstalig cursusmateriaal. Bij inschrijving van minimaal 3 deelnemers kan de training ook geheel in het Engels verzorgd worden.

Investering

Open inschrijving, per persoon, inclusief cursusmateriaal:


Prijs excl. btw

€ 1600,-

btw 21%

€ 336,-

Totaal incl. btw

€ 1936,-

Certificaat

Na afronding van de training wordt een Learnit-certificaat uitgereikt als bewijs van deelname.


Referenties

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

"Praktisch gericht en erg toepasbaar in de praktijk. Leuke combi van theorie + oefenen"

"Duidelijke training waar ik veel aan heb gehad voor mijn werk. Echte aanrader."

"Het is een organisatie die vooraf vraagt waar de training over moet gaan en met hoeveel deelnemers, je weet dus gelijk waar je aan toe bent. De samenwerking heb ik als prettig ervaren. Veel informatie gekregen maar ook in praktijk toegepast."

"Lekkere praktische cursus waaraan je meteen wat hebt in de praktijk."

"Goede inhoudelijke training; toegesneden op de vraag van de cursist."