Firmware Development

Writing production level firmware for a product requires deep knowledge of computer engineering, architecture, electrical engineering, and software development. Many people claim to write 'code' but CLI Systems knows how to write firmware.
Areas of Expertise
- C, C++, and Assembly
- Microcontroller setup, interrupts, and clocking
- Bare-metal programming (No-OS)
- Real-time OS (RTOS) integration, setup, and threading
- Device drivers (Microcontroller and Linux)
- Embedded protocols
- I2C, SPI, CAN, Modbus RTU, RS485, RS232, and more
- Embedded Linux system image building
If you have an existing (legacy) embedded system written in C, we promise we can work with it. We are true experts in C, and we have worked with some ancient and wild code!
We have seen a lot of poorly designed C microcontroller code. If your code is like that, don't worry, we really have seen it all! We are perfectly comfortable digging in to an old application where the development team didn't quite get it right, or the original developer moved on with little or no documentation.
CLI Systems has provided the following services for legacy systems:
- Analyze/Document C firmware
- Add features to an existing system
- Bug fixes
- Improve performance
- Yes, we can typically make it run faster
- Improve resource utilization
- Smart programming really can recover RAM and flash space!
- Add firmware update (OTA) or bootloader
Tell us about your system, and see where we can help.
Microcontrollers
CLI Systems has worked with the following microcontrollers and architectures
- ARM Cortex M0/M0+/M3/M4
- STM32 Family
- AT SAM D Family
- PIC10/12/16
- PIC24/30/33
- PIC32
- 8051 Architecture
- AVR/ATMega
- ESP8266
- ESP32
- AT90
- MSP430
- STM8
- RL78
Embedded Linux
We have worked with the following processor families and Linux board manufacturers
- STM32MP15x
- Broadcom BCM28xx family (Raspberry Pi)
- iMX.6 UL/Solo/Dual
- AT91
- Technologic Systems
- Digi ConnectCore
- Ralink MIPS
- Atheros
- Mediatek
We love hearing about new projects!
Want an NDA? No problem, just let us know in the message!