Zentrales Flashen heterogener Systemarchitekturen

In verteilten, inhomogenen Systemen ist es oftmals knifflig, die verschiedenen Systemkomponenten aus einer gemeinsamen Quelle mit Firmware-Aktualisierungen zu versorgen und diese zuverlässig zu flashen.

Hierfür haben wir eine universelle Flash-Lösung entwickelt, mit welcher sich aus einem übergeordneten Embedded-Linux-Programm heraus heterogene Systeme – bestehend aus FPGAs, SoCs und Mikrocontrollern – sicher flashen lassen.

Technologische Umsetzung:

  • Verpackung & Übergabe: Die einzelnen Firmware-Komponenten werden zusammen in einer strukturierten XML-Datei gekapselt und einem Embedded Linux-Programm übergeben.
  • Intelligente Endpunkte: In den Mikrocontrollern laufen proprietäre Software-Komponenten von uns; in den FPGAs agieren dedizierte PicoBlaze/CopyBlaze-Instanzen, die über VHDL-Module für das Schnittstellen-Handling erweitert wurden.
  • Direkt- & JTAG-Flashen: Während das Flashen von Mikrocontrollern sowie NAND/NOR-Flashes direkt über die Firmware erfolgt, wird das Flashen über die JTAG-Schnittstelle über eine verteilte Architektur gelöst. Ein optimierter XSVF-Player, dessen Logik auf das Linux-Programm und die PicoBlaze/CopyBlaze-Instanz aufgeteilt ist, spielt aufgezeichnete XSVF-Files fehlerfrei ab.

Unsere Leistungen

  • Konzeption und Entwicklung sämtlicher Software- und Logik-Komponenten sowie Kommunikationsprotokolle

Technologien

Hardware

  • FPGA
  • SPI-NOR-Flash
  • SPI/QSPI-Flash
  • STM32
  • MSP430
  • Xilinx Platform-Flash
  • JTAG

Software / Verfahren

  • Softwarearchitektur
  • Kommunikationsprotokolle
  • XSVF

Programmiersprachen

  • C/C++
  • Assembler
  • VHDL

Tools

Softwareentwicklung

  • KDevelop – C/C++ Entwicklungsumgebung
  • GCC – Gnu C/C++ Compiler
  • ISE - FPGA Entwicklungsumgebung
  • IAR Embedded Workbench for MSP430 - C/C++ Entwicklungsumgebung
  • AC6 System Workbench for STM32 - C/C++ Entwicklungsumgebung

Debugging & Analyse

  • GDB – Debugging und Analyse der Embedded-Software
  • Logic Analyzer – Debugging und Analyse der Hardware

Projektmanagement & Versionskontrolle

  • Git – Versionskontrolle