To build drivers you need to understand both the hardware side and the OS software side.
We have experience with most common OS: Linux, QNX, Windows CE, VxWorks, OSE, Nucleus and many more. In fact we do even evaluate real-time behavior of these (with dedicated-systems), so we know what they are capable of!
We have as well extensive hardware experience, going from parallel busses like VME and PCI, to serial busses like CAN, Profi and the like. But also less common busses like the MIL-1553-STD which is used in aerospace applications.
We know as well the internal workings of the different CPUs: like cache organization memory management unit and so one.
As a result we have years of experience in this field and have struggled with success through different hard issues we met.
- We made “portable” drivers for ASICs
- We made SW running in ASICs
- Drivers to communicate with other OSes on other Cores
- DMA network in a box (over VME/PCIe)
- Specific driver for Machine control