Ionocom offers development of firmware to support designs that include
embedded processors. Firmware is embedded software that is a permanent
part of the product, typically stored in Flash memory and usually performing
low-level functions that directly control the hardware. Firmware can perform
functions that range in complexity from simple control of buttons and displays
through to complex multi-tasking features such as TCP/IP networking. Firmware
often performs "real-time" functions.
We have experience with 8-bit, 16-bit and 32-bit microcontrollers from
suppliers such as Microchip (PIC), Texas Instruments (MSP430 and
ARM Cortex-M3), Rabbit and Atmel (AVR), and industry-standard parts such
as the 8051. We also have experience with 32-bit microprocessors and DSPs
from suppliers such as Texas Instruments, Renesas and Freescale. We have
used toolchains from suppliers such as Keil, IAR, Microchip, CCS and Microsoft
as well as open-source products such as eclipse and GCC.
We can write firmware in C or directly in assembly language where speed
or code size requires.
We can develop low-level firmware to run directly on the hardware, and also
higher-level code using executives or real-time operating systems.
We have particular experience developing code for the low-power,
limited-speed, memory-constrained environment typical of low-cost designs.
Clients find that having firmware developed concurrently with the hardware,
by the same team, is more efficient, faster and less risky than having
firmware developed separately.
We use standard tools such as lint, CVS and Trac for code-checking,
revision control, tracking and configuration management.