Centralized Flashing of Heterogeneous System Architectures
In distributed, inhomogeneous systems, it is often tricky to supply the various system components with firmware updates from a common source and to flash them reliably.
For this purpose, we have developed a universal flashing solution with which heterogeneous systems – consisting of FPGAs, SoCs, and microcontrollers – can be safely flashed from a higher-level embedded Linux program.
The technological implementation:
- Packaging & Handover: The individual firmware components are encapsulated together in a structured XML file and handed over to an embedded Linux program.
- Intelligent Endpoints: Proprietary software components developed by us run in the microcontrollers; dedicated PicoBlaze/CopyBlaze instances operate in the FPGAs, which have been extended via VHDL modules for interface handling.
- Direct & JTAG Flashing: While the flashing of microcontrollers as well as NAND/NOR flashes takes place directly via the firmware, flashing via the JTAG interface is resolved via a distributed architecture. An optimized XSVF player, whose logic is split between the Linux program and the PicoBlaze/CopyBlaze instance, plays back recorded XSVF files error-free.
Our services
- Conception and development of all software and logic components as well as communication protocols
Technologies
Hardware
- FPGA
- SPI-NOR-Flash
- SPI/QSPI-Flash
- STM32
- MSP430
- Xilinx Platform-Flash
- JTAG
Software / Procedures
- Softwarearchitecture
- Communication protocolls
- XSVF
Programming languages
- C/C++
- Assembler
- VHDL
Tools
Software development
- KDevelop – C/C++ IDE for firmware development
- GCC – Gnu C/C++ Compiler
- ISE - FPGA Development environment
- IAR Embedded Workbench for MSP430 - C/C++ Development environment
- AC6 System Workbench for STM32 - C/C++ Development environment
Debugging & Analyse
- GDB – Debugging and analysis of the embedded software
- Logic analyzer – Debugging and analysis of the hardware
Project Management & Version Control
- Git – Source code version control