Learnit

C/C++ Embedded development

Algemene informatie over de cursus

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.

Inhoud van de cursus

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.

Toelatingseisen: wat heb je nodig?

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.

Duur van de cursus

4 dagen

Kosten van de cursus

1900 Euro
inclusief koffie/thee en lunch

Plaatsen / leslocaties

Amsterdam, Rotterdam, Groningen, Live Online

Gratis informatie aanvragen

Vul hieronder jouw gegevens in, dan krijg je gratis informatie toegestuurd.

  • De ingevoerde (persoons)gegevens worden door de geselecteerde opleidingsaanbieder(s) gebruikt om de gestelde vraag te beantwoorden;
  • Indien gewenst mag de onderwijsinstelling waar ik mijn aanvraag naar stuur mijn gegevens bewaren om mij van advies te voorzien;
  • Ik ben tenminste 16 jaar oud, of heb toestemming van mijn ouders of voogd om deze informatieaanvraag te verzenden;
  • De privacy statement en algemene voorwaarden van Stichting ROC.nl zijn van toepassing.