Device Drivers for Electronics Developments from Tactiq
Developing reliable and efficient device drivers requires in-depth knowledge of both the application software and hardware to ensure optimum use of the system.
Device Driver Development
Device drivers provide access to the hardware features and are vitally important to the performance, reliability and flexibility of the system. As device drivers are the link between the application software and hardware components, developers must have an in-depth knowledge of both to ensure the driver is reliable, efficient and well structured.
Tactiq uses it's knowledge of electronics and software systems to develop drivers for standard or custom electronics that empowers application software with the full capabilities of the system through a simple, stable and extensible interface. We have experience of a range of operating systems and device drivers including Linux, Vx Works, LynxOS, USB, serial network cards, wireless systems and graphics cards. We select the optimum solution for each application whether that is an off-the-shelf package or we develop a bespoke solution.
Design Considerations All device drivers require care in their design and implementation. The strategies for interrupt handling and priority are key to system performance and differ depending on the operating system and application. On a real-time system minimising the worst case latency, it is important for interrupts to be disabled for as short a time as possible and the application must be given the opportunity to respond to an event as soon as possible. If multiple threads can use the same driver then you must ensure that accesses to the device driver cannot cause priority inversion. On a non real-time system,
efficiency and average throughput are key so a driver may minimise context switching using interrupt coalescing and perform more processing in interrupt handlers instead of driver threads. On systems with memory management and protection, the drivers have memory access that application software does not, so driver quality is key to system
reliability.
Platform Approach Platform based development is key to
rapid and reliable development of a wide range of products. Device
drivers are a fundamental element in making a platform based
approach work. The driver interface must be designed so that the
software is independent of the detailed hardware implementation and
to allow current and future features to be implemented using a
consistent and well defined software interface. Tactiq has developed software interfaces that allow our clients to support a wide range of system types and hardware platforms to be supported with common software minimising development and maintenance costs.
Tactiq have experience of developing device drivers for a wide range of device types and software environments, some specific skill areas are shown below:
For more information or to discuss how we may be able to support you, please contact us.