
Embedded Software Cursus
Beheers de volledige embedded softwarestack, van bare-metal C-programmering en randapparaat-stuurprogramma's tot RTOS-ontwerp en communicatieprotocollen. Deze cursus geeft je de praktische vaardigheden om productieklare firmware te bouwen voor echte microcontroller-doelen. Of je nu de overstap maakt naar embedded engineering of je professionele praktijk naar een hoger niveau tilt, dit is de training die je er brengt.
Wat je gaat leren:
Je bouwt een complete basis in embedded systemen, beginnend met microcontrollerarchitectuur, toolchain-installatie en C-programmeertechnieken specifiek voor bronbeperkte doelen. Je ontwikkelt stuurprogramma's voor GPIO, timers, UART, SPI, I2C, ADC en CAN op registerniveau. Je implementeert interrupt-gestuurde en DMA-ondersteunde ontwerpen en ontwerpt vervolgens multitasking-toepassingen met behulp van een RTOS. De cursus behandelt geheugenbeheer, communicatieprotocollen waaronder USB, Ethernet en Modbus, en professionele debugging met hardwaretools en statische analyse. Je verkent ook bootloaders, energiezuinig ontwerp, embedded beveiliging en functionele veiligheidsprincipes.
Hoe je praktisch studeert Embedded Software Cursus
Hoe je oefent Embedded Software Cursus
Voor bedrijven die hun team willen trainen
Bij Dedika voor bedrijven bevat de cursus oefeningen en voorbeelden die zijn afgestemd op jouw organisatie en precies zoals jouw bedrijf het nodig heeft.
Cursusinhoud
8 Hoofdstukken • 41 LessenDuur tussen 4 en 360 uren (jij beslist)
Hoofdstuk 1VerbergenVerberg detailsBekijk detailsBasisprincipes van embedded systemen
Basisprincipes van embedded systemen
Les 1 • Kenmerken van embedded software
Identificeert eigenschappen die uniek zijn voor embedded software: determinisme, bare-metal uitvoering en nauwe koppeling aan hardware. Bepaalt de beperkingen die alle latere ontwerpkeuzes vormgeven.
Les 2 • Kernhardwarecomponenten
Overziet microcontrollers, processors, geheugentypen en randapparatuur. Verbindt hardwaremogelijkheden met softwareontwerpbeslissingen.
Les 3 • Overzicht van de ontwikkelings-toolchain
Introduceert cross-compilers, linkers, debuggers en flash-programmeurs. Studenten begrijpen hoe broncode uitvoerbare firmware wordt op een doelapparaat.
Les 4 • Een ontwikkelomgeving opzetten
Begeleidt studenten bij het installeren en configureren van een complete toolchain en IDE. Produceert een werkende bouw-en-flash-workflow voordat applicatiecode wordt geschreven.
Les 5 • Wat is een embedded systeem
Definieert embedded systemen op basis van hun speciale functie, resourcebeperkingen en realtime vereisten. Stelt de woordenschat vast die gedurende de cursus wordt gebruikt.
Hoofdstuk 2VerbergenVerberg detailsBekijk detailsC-programmeren voor embedded doelen
C-programmeren voor embedded doelen
Les 1 • Pointers en geheugentoegang
Legt pointer-rekenen, vluchtige kwalificaties en geheugen-geregistreerde registertoegang uit. Maakt directe hardware-registermanipulatie mogelijk die in latere hoofdstukken wordt behandeld.
Les 2 • Embedded C-coderingsnormen
Introduceert industriële coderingsrichtlijnen voor veiligheidskritische firmware, inclusief naamgevingsconventies en beperkte taalfuncties. Bereidt studenten voor op professionele codebeoordelingen.
Les 3 • Gegevenstypen en geheugenindeling
Behandelt integer-typen met vaste breedte, struct-packing en uitlijningsregels. Zorgt ervoor dat studenten de geheugenindeling op elke doelarchitectuur nauwkeurig kunnen beheersen.
Les 4 • Preprocessor- en compilerinstructies
Behandelt macro's, conditionele compilatie en inline functies voor draagbare firmware. Studenten leren hardware-abstractionsheaders te schrijven die in projecten worden gebruikt.
Les 5 • Bitmanipulatietechnieken
Leert bitsgewijze operators, maskers en schuifoperaties voor registerbesturing. Deze technieken worden toegepast in elke later geschreven stuurprogramma voor randapparatuur.
Hoofdstuk 3VerbergenVerberg detailsBekijk detailsMicrocontroller-randapparatuur en stuurprogramma's
Microcontroller-randapparatuur en stuurprogramma's
Les 1 • Seriële communicatie via UART
Behandelt baudrate-berekening, frame-indeling en registertoegang voor verzenden/ontvangen. Studenten implementeren een polling-gebaseerd UART-stuurprogramma dat gedurende de cursus wordt gebruikt voor debuggen.
Les 2 • Basisprincipes van ADC en DAC
Legt resolutie van analoog-digitaalomzetting, bemonsteringsfrequentie en referentiespanning uit. Studenten lezen sensorgegevens en begrijpen de vereisten voor signaalconditionering.
Les 3 • Timers en PWM-generatie
Configureert hardwaretimers voor periodieke gebeurtenissen, ingangscapture en PWM-uitvoer. Timer-kennis is een vereiste voor onderwerpen over realtime planning en motorregeling.
Les 4 • GPIO-configuratie en -besturing
Legt invoer-/uitvoermodi, pull-weerstanden en drive-sterkte-instellingen uit. GPIO is de eenvoudigste randapparatuur en vormt de basis voor alle volgende stuurprogrammaontwikkeling.
Les 5 • SPI- en I2C-busprotocollen
Vergelijkt SPI- en I2C-elektrische en protocolkenmerken, implementeert vervolgens master-stuurprogramma's voor elk. Maakt communicatie mogelijk met sensoren en extern geheugen.
Hoofdstuk 4VerbergenVerberg detailsBekijk detailsInterrupts en gebeurtenisgestuurd programmeren
Interrupts en gebeurtenisgestuurd programmeren
Les 1 • Interruptserviceroutines schrijven
Behandelt ISR-naamgevingsconventies, minimale uitvoeringstijd en vlagwistsequenties. Studenten schrijven GPIO- en timer-ISR's die integreren met de stuurprogramma's uit Hoofdstuk 3.
Les 2 • Interrupt-gestuurd UART-stuurprogramma
Refactort het polling-UART-stuurprogramma uit Hoofdstuk 3 naar een volledig interrupt-gestuurd ontwerp. Demonstreert meetbare verbetering van CPU-gebruik door middel van een praktische oefening.
Les 3 • DMA-ondersteunde gegevensoverdrachten
Introduceert DMA-controllers om bulkoverdrachten van de CPU over te nemen. Studenten configureren DMA voor UART en ADC, waardoor de interruptoverhead aanzienlijk wordt verminderd.
Les 4 • Gegevens delen tussen ISR's en taken
Behandelt vluchtige variabelen, atomische toegang en ringbuffers voor ISR-naar-hoofdcommunicatie. Voorkomt gegevenscorruptiebugs die veel voorkomen in interrupt-gestuurde ontwerpen.
Les 5 • Interruptarchitectuur en vectoren
Legt interruptvectortabellen, NVIC-prioriteitsniveaus en uitzonderingstypen uit. Biedt het conceptuele model dat vereist is voordat ISR-code wordt geschreven.
Hoofdstuk 5VerbergenVerberg detailsBekijk detailsGeheugenbeheer in embedded systemen
Geheugenbeheer in embedded systemen
Les 1 • Statische versus dynamische toewijzing
Vergelijkt statische toewijzing met malloc/free, waarbij fragmentatie en niet-determinisme risico's worden benadrukt. Leidt studenten naar toewijzingsstrategieën die geschikt zijn voor veiligheidskritische firmware.
Les 2 • Code- en gegevensvoetafdruk verkleinen
Past compiler flags, link-time optimalisatie en datacompressie toe om firmwaregrootte te verkleinen. Essentieel voor apparaten met beperkte flashcapaciteit.
Les 3 • Embedded geheugenarchitectuur
Wijst flash, SRAM, stack, heap en linkersecties toe aan fysieke geheugenregio's. Biedt het mentale model dat nodig is om linkerscripts en kaartbestanden te interpreteren.
Les 4 • Geheugenbeschermingseenheden
Configureert MPU-regio's om toegangsrechten af te dwingen en null-pointer-dereferenties tijdens runtime op te vangen. Voegt een hardware-veiligheidsnet toe aan firmware die zonder besturingssysteem draait.
Les 5 • Stackgebruik en overflowpreventie
Kwantificeert stackconsumptie per functieaanroep en identificeert overflowcondities. Studenten passen stack painting en statische analyse toe om stacks correct te dimensioneren.
Hoofdstuk 6VerbergenVerberg detailsBekijk detailsReal-time besturingssystemen voor embedded
Real-time besturingssystemen voor embedded
Les 1 • RTOS-concepten en kerndiensten
Introduceert taken, scheduler-typen, contextwisseling en kernelobjecten. Stelt de RTOS-woordenschat en het mentale model vast voordat API's worden gebruikt.
Les 2 • Timers, idle hook en energiebeheer
Gebruikt softwaretimers en de idle hook om periodieke acties en energiezuinige slaapmodi te implementeren. Verbindt RTOS-planning met systeemenergieverbruikdoelen.
Les 3 • Inter-taakcommunicatie met wachtrijen
Implementeert berichtenwachtrijen voor het veilig doorgeven van gegevens tussen taken en ISR's. Vervangt de ringbufferpatronen uit Hoofdstuk 4 door RTOS-beheerde wachtrijen.
Les 4 • Deadline-analyse en planningscapaciteit
Past rate-monotone analyse en schatting van de slechtste uitvoeringstijd toe om te verifiëren dat alle taken hun deadlines halen. Biedt een formele methode voor het valideren van RTOS-ontwerpen.
Les 5 • Taak aanmaken en beheren
Behandelt het aanmaken van taken, prioriteitstoewijzing, stack dimensionering en verwijdering. Studenten zetten de bare-metal firmware uit eerdere hoofdstukken om naar een multitasking-applicatie.
Les 6 • Synchronisatie met semaforen en mutexen
Legt binaire semaforen, telsemaforen en mutexen uit voor resourcebescherming. Behandelt prioriteitsinversie en de mitigatie ervan door middel van prioriteitsovererving.
Hoofdstuk 7VerbergenVerberg detailsBekijk detailsEmbedded communicatieprotocollen
Embedded communicatieprotocollen
Les 1 • Ethernet en TCP/IP op microcontrollers
Configureert een Ethernet MAC/PHY en integreert een lichtgewicht TCP/IP-stack. Studenten implementeren een eenvoudige HTTP-server om netwerkapparaten aan te tonen.
Les 2 • Modbus-protocolimplementatie
Legt Modbus-RTU-frame-opmaak, functiecodes en registertoewijzing via UART uit. Studenten bouwen een slave-apparaat dat reageert op master-lees- en schrijfverzoeken.
Les 3 • Overzicht van draadloze protocollen
Overziet Bluetooth Low Energy, Wi-Fi en sub-GHz-radio-opties voor embedded connectiviteit. Studenten evalueren protocolafwegingen voor vereisten op het gebied van vermogen, bereik en datasnelheid.
Les 4 • USB-apparaatbasisprincipes
Introduceert USB-enumeratie, descriptors en CDC-klasse voor virtuele seriële communicatie. Studenten configureren een USB-CDC-apparaat met behulp van een middleware-stack.
Les 5 • CAN-busbasisprincipes en stuurprogramma
Behandelt CAN-frame-structuur, arbitrage, foutafhandeling en filterconfiguratie. Studenten implementeren een CAN-stuurprogramma en wisselen berichten uit tussen twee nodes.
Hoofdstuk 8VerbergenVerberg detailsBekijk detailsEmbedded software testen en debuggen
Embedded software testen en debuggen
Les 1 • Integratie- en systeemtesten
Ontwerpt integratietests die randapparatuur-stuurprogramma's, protocol stacks en RTOS-taken samen verifiëren. Valideert het volledige firmwarebeeld tegen systeemvereisten.
Les 2 • Instrumentatie en tracing
Past printf-logging, SWO-trace en logic analyzers toe om runtime-gedrag niet-indringend te observeren. Vult breakpoint-debugging aan voor tijdgevoelige problemen.
Les 3 • Statische analyse en linting
Voert tools voor statische analyse uit om automatisch ongedefinieerd gedrag, onbereikbare code en MISRA-schendingen te detecteren. Integreert analyse in de build-pipeline voor continue feedback.
Les 4 • Hardware debugtechnieken
Gebruikt JTAG/SWD-debuggers, breakpoints, watchpoints en registerinspectie om firmwarefouten te diagnosticeren. Bouwt essentiële vaardigheden op voor alle volgende debugtaken.
Les 5 • Unit testen van embedded code
Introduceert host-gebaseerde unit-test-frameworks en hardwareabstractie voor testbaarheid. Studenten schrijven tests voor driverlogica zonder dat fysieke hardware nodig is.
Jouw geldig certificaat van voltooiing
Deze cursus is voor jou:
Elektrotechnisch ingenieur: wil firmware schrijven zonder afhankelijk te zijn van softwareteamgenoten.
Hobbyist-maker: klaar om voorbij Arduino-abstracties te gaan naar echte register-level controle.
Softwareontwikkelaar: wil overstappen naar embedded rollen bij hardwareproductbedrijven.
Mechatronicastudent: heeft praktische firmwarevaardigheden nodig om cursuswerk in systeemontwerp aan te vullen.
Junior embedded engineer: wil gestructureerde training om gaten te dichten die zijn overgebleven door on-the-job leren.
IoT-startup-ingenieur: verantwoordelijk voor device-firmware maar mist formele embedded systemen-training.
Wat onze studenten zeggen
Jullie lessen zijn perfect. Ik heb het jaarpakket aangeschaft en heb eindelijk de mogelijkheid om verschillende onderwerpen die mij interesseren te volgen zonder van platform te hoeven wisselen... bedankt voor alles wat jullie doen, ik heb jullie al aan anderen aanbevolen...

Ik vind het fijn hoe de lessen direct ter zake zijn en hoe ik tussen hoofdstukken kan wisselen en content kan overslaan die ik niet nodig heb.

Ik vind de content en de manier van presenteren en transcriptie van video's geweldig, wat het proces versnelt!

Het platform is snel en eenvoudig te gebruiken. De diversiteit aan content en de aanvullende video's helpen enorm bij het leren.

Belangrijkste opleidingen
FAQ
Wie is Dedika?
Is het certificaat geldig in Nederland?
Zijn de cursussen gratis?
Wat is de studielast van de cursus?
Hoe zien de cursussen eruit?
Hoe werken de cursussen?
Wat is de duur van de cursussen?
Wat zijn de kosten of prijzen van de cursussen?
Wat is een EAD- of online cursus en hoe werkt het?
PDF-cursus




















