Startpagina

Technologieën en platforms

Programmeertalen, hardwareplatforms, bussen en gereedschappen — de keuze volgt de projecteisen, niet mijn voorkeur.

Deze pagina geeft een compact overzicht van de technologieën waarmee ik werk. De lijst is niet uitputtend — zij noemt de platforms, talen en gereedschappen die vaak in mijn projecten voorkomen of die ik bijzonder relevant acht voor embedded ontwikkeling. Wanneer uw specifieke platform hier niet vermeld staat, betekent dat niet noodzakelijk dat er geen ervaring mee is; in embedded projecten dragen concepten zich vaak over naar andere platforms zodra de taak helder is.

Talen

1. Programmeer- en hardwarebeschrijvingstalen

Taalkeuze naar de taak: hardware-nabij en zuinig in C of assembler, objectgeoriënteerd in C++, FPGA-logica in VHDL en SystemVerilog, gereedschap en analyses in Python.

  • C — hoofdtaal voor microcontroller-firmware, van bare-metal tot FreeRTOS
  • C++ — voor complexere embedded toepassingen met objectstructuren, MISRA-conform indien vereist
  • Assembler — onder extreme randvoorwaarden, voor hardwaredrivers, opstartcode en reverse engineering
  • VHDL — FPGA-ontwerpen met sterke structurele helderheid
  • SystemVerilog — moderne FPGA-ontwikkeling, testbenches, verificatie
  • Verilog — klassieke FPGA-beschrijving
  • Python — testautomatisering, scripts, data-analyse, web-backends
  • Kotlin — voor Android-apps als begeleiding bij embedded apparaten
  • JavaScript / HTML / CSS — web-frontends en configuratie-interfaces
MCU

2. Microcontroller-platforms

Ervaring met alle gevestigde microcontroller-platforms op de embedded markt — van high-performance ARM Cortex tot kostengeoptimaliseerde Atmel-chips, als kale microcontroller of als kaartplatform zoals Arduino of BeagleBone.

  • ARM Cortex-M — het standaardplatform voor middenklasse-eisen
  • ARM Cortex-A — wanneer Linux of meer rekenkracht nodig is
  • ESP32 — embedded toepassingen met Wi-Fi/Bluetooth
  • Atmel / Microchip AVR — bv. ATmega-familie voor prijsgevoelige projecten
  • Arduino — snelle prototyping, onderwijs en demonstraties
  • BeagleBone — ARM Cortex-A platform met Linux voor veeleisender toepassingen
  • Microcontrollers met minimaal geheugen — bare-metal, zonder RTOS (Stihl-project als voorbeeld, zie referenties)
  • verdere platforms op aanvraag
FPGA

3. FPGA-platforms

FPGA-ontwikkeling van specificatie tot verificatie. Accent op Xilinx-producten, vertrouwd met de moderne toolchains en verificatiemethoden.

  • Xilinx Artix-7 — kostenefficiënte FPGA's voor besturings- en signaalverwerkingstaken
  • Xilinx Zynq — gecombineerd ARM+FPGA-platform voor complexe systemen
  • Vivado — toolchain voor synthese, implementatie en programmering
  • Icarus Verilog / Verilator — open-source simulatoren voor snelle iteratie
  • SystemVerilog-testbenches — gestructureerde verificatie van FPGA-ontwerpen
Bus

4. Bussen en communicatieprotocollen

Ervaring met de in automotive-, industriële en embedded omgevingen gevestigde bussen — van hardware-nabije implementatie tot diagnose.

  • CAN / CAN FD — automotive- en industriestandaard
  • MOST — infotainment-bus met ervaring uit het Audi-project (zie referenties)
  • Ethernet / EtherCAT — realtime-capabele industriële communicatie
  • SPI / I²C / UART — standaardinterfaces voor sensoren en randapparatuur
  • UDS (ISO 14229) — diagnoseprotocol voor stuurapparaten
  • WebSocket / MQTT — voor IoT- en cloud-aansluiting
RTOS

5. Realtime besturingssystemen en frameworks

Keuze van de softwarearchitectuur volgens projecteis — van bare-metal op krappe microcontrollers tot volledige multi-core realtime besturingssystemen.

  • Bare-metal — wanneer geheugen en determinisme tellen
  • FreeRTOS — de facto standaard voor RTOS op microcontrollers
  • Multi-core architecturen — verdeling van taken over meerdere cores
  • Embedded Linux — op platforms zoals BeagleBone, wanneer toepassingen daarvan profiteren
Tools

6. Gereedschappen, testframeworks en IDE's

Tools zijn middelen. Ik werk met wat bij het project past — en kan me snel inwerken in onbekende toolchains wanneer die voor het project relevant zijn.

  • Vector CANoe / CAPL — standaard voor automotive-tests en bus-simulatie
  • LabView — meet- en regelsoftware
  • Robot Framework — end-to-end testautomatisering
  • HIL-opstellingen — hardware-in-the-loop voor geïntegreerde systeemtests
  • Pulsonix — schema- en PCB-layouttool
  • Vivado — Xilinx FPGA-toolchain
  • Git / GitLab — versiebeheer en codereview
  • Wireshark — netwerk- en busanalyse
Web/App

7. Web- en app-technologieën (begeleidende software)

Wanneer embedded apparaten een configuratie-interface, een dashboard of een mobiele app nodig hebben, kan ik ook de begeleidende software leveren.

  • JavaScript / HTML / CSS — web-frontends
  • Chart.js — datavisualisatie in de browser
  • Python / Flask — web-backends
  • Node.js — servercomponenten
  • Socket.IO / WebSocket / MQTT — realtime gegevensoverdracht
  • Kotlin — Android-apps voor embedded apparaten
  • REST-API's — gestandaardiseerde interfaces tussen embedded en cloud

Wat niet in deze lijst staat

Deze pagina noemt de vaak gebruikte technologieën — het is geen volledig overzicht. Wanneer uw platform, taal of gereedschap hier niet bij staat, is het toch de moeite waard om het project te bespreken. In embedded ontwikkeling telt uiteindelijk minder welke specifieke toolchain men kent, en meer hoe snel men een nieuwe toolchain eigen kan maken en hoe diep de onderliggende concepten begrepen zijn.

Kleurenschema

Taal