Softwareentwicklung für Microcontroller

Softwareentwicklung für Microcontroller

Wir bieten Entwicklungsunterstützung, Integrationsunterstützung und Beratung für

Board-Bringup und Peripherieintegration

Bootprocess und Hardwareinitialisierung

  • Konfiguration der Timer und Clocks
  • Konfiguration der Interrupts
  • Speicherlayout
  • Peripherieinitialisierung I2C, SPI, I3C, UART, CAN, GPIO, Timer
    • Herstellerspezifische Treiber (STM, NXP, TI, Nordic, ..)
    • Hersteller unabhängige Treiber (like Zephyr RTOS, Rust embedded-hal crate)
  • Cortex M und RISC-V MCU's

Bare Metall oder RTOS

Event Loop - Bare Metall

  • Eingabe, Verarbeitung, Ausgabe, Pause - Schleife
  • Interrupt injizierte events

oder

RTOS

  • Zephyr (bevorzugt)
  • FreeRTOS
  • µCOS II
  • other

Programmiersprachen

  • Rust (bevorzugt)
    • Speichersicher,
    • Threadsicher,
    • Hoher Abstraktionsgrad
  • C, C++

Kommunikationsprotokolle

  • TCP/IP
  • M2M, MQTT, COAP
  • CAN, CANOpen
  • RS485
  • ISM, BLE, WiFi

Git, Build-Systeme und Continuous Integration

  • Cmake, make für C, C++
  • West für Zephyr OS
  • Cargo / bindgen für Rust
  • Headless Builds mit CI system (z.B. github action) für
    • Code-Analyse
    • Ausführung der Entwickler-Unittest, Berechnung der Testabdeckung
  • Versions- und Abhängigkeitsverwaltung
  • Release-Builds inklusive deren Automatisierung