We primarily develop application software and drivers for embedded
systems. We are familiar with many kinds of embedded systems and SoCs,
from 8-Bit, 16-Bit, to 32-Bit CPUs, and their many interfaces and data
storage types. Here a selection of technologies used so far:
- Microprocessors: ATXmega, MSP430, Pic32,
STM8/32, TCC8300, EFM32, LPC43xx, LPC111x, 8051 (Silicon Labs),
ColdFire-MCF5329, SAM, TMS320, ADAU1445, Blackfin ADSP21488 & ADSP
BF516, AVR AT32AP7000 & AT91SAM, 65C02
- FPGA: Lattice MachXO2
- Standard interfaces: I2C, SPI, UART; USB, Ethernet
- Audio/Video interfaces: I2S, TDM, BT656, HDMI, analogue
- Industrial interfaces: IO-Link, Profinet, Ethercat, CAN, HART
- Wireless: Bluetooth, Wireless-M-Bus, IEC 802.15.4, proprietary data transfer systems
- Data storage: SRAM, SD-RAM, DDR2-RAM, NOR-Flash, NAND-Flash, EEPROM; SD cards
Depending on the project, the development can include the
incorporation of operating systems like RTOS, Linux, Android, etc. We
also offer the development of PC-based software for e.g. the
communication with or control of embedded systems. We have experience
with a variety of development environments, e.g. Keil, IAR, Eclipse,
Netbeans, Rhapsody, CodeComposer-Studio, the Gnu Toolchain.
If required, our engineers can integrate into existing customer’s
teams. We are familiar with various development processes like agile
methods.
Our software development services include:
- Analysis of requirements and definition of software interfaces
- Development and simulation of algorithms with Mathematica, Matlab, SciLab, Simulink, ..
- Software implementation using various programming languages: C, C++, Java, Python, Assembler; VHDL, ...
- Module testing
- Static code analysis
- Integration of the developed software on target hardware; integration tests
- Software development using version control systems (SVN, CVS)
- Documentation (Doxygen, Word documents), Test reports