We offer firmware development services for 8, 16, 32, and 64-bit microcontrollers produced by the most popular semiconductor vendors including Atmel, Nordic Semiconductor, Texas Instruments, STMicroelectronics, Renesas, Silicon Labs, and others. We design both bare-metal and RTOS-based firmware.
We have extensive hands-on experience in developing firmware for applications that demand real-time response. The real-time operating systems (RTOS) we’ve worked with include FreeRTOS, Zephyr, ThreadX, RTEMS, LiteOS, and NuttX. RTOS significantly speeds up the process of firmware development.
ROS is an open-source operating system that enables control of low-level hardware used in robots and robotic automation systems. With ROS, we can quickly build, maintain, and expand robots’ capabilities.
When an embedded device needs to run a set of tasks forever or until the power supply is removed, we develop embedded C applications without an OS. The non-OS based embedded firmware execution runs the tasks in an infinite loop.
The Arm Cortex-M processor family is the most common platform we work with. Depending on the requirements, we use different versions of Cortex microcontrollers: e.g. M0/M0+ when a solution needs to be energy efficient but doesn’t require high performance, M4/M7 when high performance and rich periphery is critical, and Cortex-R family when real-time execution is needed.
As alternatives to Cortex, we also apply AVR, PIC, and MSP430 microcontrollers which can be a good fit for some specific tasks. However, we always recommend doing embedded development using more powerful architectures. We offer this recommendation because when your needs change, moving from one platform to another might require significant investment.
If your device, in addition to algorithmic processing on the MCU, requires digital signal processing (DSP) in real time, you can use us for DSP firmware development. We will help you select an appropriate DSP for your application and develop a firmware for it. We’ve worked with DSP processors produced by Texas Instruments (C6000 and C5000 series), Microchip Technology (dsPIC), and Analog Devices (ADSP-21xx, Blackfin, SHARC and TigerSHARC).
Hardware abstraction level makes it possible to develop firmware that is reusable and hardware independent. HALs are essentially API’s for interacting with hardware. We use existing HALs provided by microcontrollers and compilers, and we also create our own.
Testing involves intensive debugging and optimization efforts. We test every individual piece of firmware separately using as many scenarios as technically feasible. We use manual and automated product testing to deliver reliable high-performance products.
Each MCU manufacturer has peripheral features and programming models that are unique to its own products. In case you need to migrate your firmware from one MCU vendor to another, we can support your efforts. We’ll re-layout the PCB if required and make the design portable.