Embedded software development
One of our peculiar characteristics is that, together with the design of hardware devices, we also supply the relative dedicated software.
The main embedded development activities:
With the expertise and long experience in the embedded Linux sector, we write firmware, drivers and customised operating systems for all the most common architectures.
Bare metal firmware development
Developing firmware is one of the activities that has characterised Develer since its inception. Our designers are able to squeeze out the very last performance cycle, surpassing the classic industrial firmware in terms of quality and modularity. We are able to implement many features in the microcontroller without resorting to external chips (signal processing, networking with TCP/IP, control loops), thereby reducing production costs. We are also able to achieve hard real-time performance with high levels of determinism, using RTOS or proprietary solutions. And we are able to implement elegant control interfaces based on HTML or QML, to remotely control your devices via PC, tablet, and smartphone, without wasting time with less robust proprietary protocols and complicated software and driver installations.
- Average project size: 2-4 months
- Architectures: PIC, AVR, Cortex-M, ARM
- Bus: USB, CAN, SPI, Ethernet, Ethercat, […]
Writing Linux kernel and BSP drivers
If you have a device that has compatibility problems with Linux, perhaps with a recent version of the kernel, we are able to intervene, modifying and improving the existing driver, or even writing it from scratch. Over the years we have specialised in drivers for various USB and PCI-express devices, but also on industrial buses such as CANbus and Ethercat. Whether it’s acquiring data at different gigabits, or simply turning on an LED, we have the experience to be fast and effective. We also work daily on the development and maintenance of BSP Linux, modifying and evolving those provided by the CPU manufacturers or even creating them from scratch starting from the basic components (bootloader, kernel, rootfs).
- Average project size: 1-3 months
- Bus: USB, PCI-express, CANbus, EtherCAT
- OS: Linux
Do you need a driver or a firmware development?
System programming (daemons) for Linux
We develop daemons on Linux that interface with hardware, the network, or other system or application software. We know how to manage both a multithreading and an event-driven approach, and at the same time we use the right syscalls to efficiently interface with the kernel. We can optimise for CPU time, memory usage or response latency, as appropriate. We usually support the development of a test suite that helps with refactoring and evolution.
- Average project size: 1-4 months
- Programming languages: C, C++, Go
- Libraries: libev, libuv, pthread, zeromq
- OS: Linux
Multitouch GUI development based on Qt Quick
We make the best use of the power of Qt Quick for the creation of fluid and dynamic user interfaces. Starting from the initial concept, we are able to design an interface overseeing the interaction design aspects, creating the graphics with care, and implementing everything on your devices, maximising the chosen processor and graphic acceleration, and integrating with your ecosystem. We know the tricks to use in Qt Quick to maximise the framerate without penalising the graphic aspect. If you want to work with the design, no problem: we will faithfully reproduce your mock-up (ex: in Photoshop).
- Average project size: 4-12 months
- Libraries: Qt Quick
- OS: Linux, Android