Software Development for Micro Controllers

Software Development for Micro Controllers

We provide development support, interation support and consultancy for

Board Bringup and Peripheral Integration

Boot process and hardware initialization

  • Timer configuration
  • Interrupt configuration
  • Memory layout
  • All kind of low level peripherals e.g. I2C, SPI, I3C, UART, CAN, GPIO, timer
    • Vendor specific drivers (STM, NXP, TI, Nordic, ..)
    • Vendor agnostic drivers drivers (like Zephyr RTOS, Rust embedded-hal crate)
  • Cortex M and RISC-V MCU's

Bare Metall or RTOS

Event Loop

  • Input, processing, output, pause - loop
  • Interrupt injected events

or

RTOS

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

Programming Languages

  • Rust
    • memory safe,
    • thread safe,
    • high level of abstraction
  • C, C++

Communication Protocols

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

Git, Build System and Continuous Integration

  • Cmake, make for native C, C++
  • West for Zephyr OS
  • Cargo / bindgen for Rust
  • Headless build with CI system (e.g. github action) for
    • Code analysis
    • Developer unittest execution, coverage compution
  • Version and dependency management
  • Release automation