In the IT industry it's key to keep abreast of current technology but impossible to be master of them all.
| 'C' | Programming in 'C' on an almost daily basis for over twenty years
leads to a comprehensive understanding of the language and how it is
implemented across a range of systems. |
| 'C++ | Our exposure to C++ is primarily as the vehicle in which we write
Windows-based test programs. Almost exclusively MFC-based we do
occasionally stray into COM or ATL. |
| C# | In response to specific request, we delivered (un-QA'd) test programs written in C# as part of one of the many Ethernet-to-Serial developments. Impressed by the ease with which User Interface applications can be created, we're keen to use C# in future projects. |
We've worked with most 'small' operatng systems of the past 20-30 years. From CP/M and DOS, through OS/2 and early Windows,
SystemSoft's focus on low-level development means that we can take advantage of the more stable world that exists at the Software/Hardware interface. Even within that low-level world new technologies emerge from time-to-time.
| Desktop and Server Windows | Windows Mobile - Window CE | |
|
SystemSoft started working with Windows NT (3.5) in 1996. We don't have any drivers that span the entire range, but we have programmed for every Windows release since that time. The native kernel mode driver architecture for Windows systems (WDM) is well established and SystemSoft are adept at it's use. We've also worked with the networking architectures NDIS and TDI. After a long stable period, WDM is coming under pressure from a new architecture WDF) that offers a quicker route to implementation for common driver types. SystemSoft has worked with both variants of WDF (Kernel-Mode and User-Mode) in drivers that work with Windows 7. Find out more at Device Driver Development |
Compared to Desktop and Server Windows, Windows CE is a completely
different implementation below the WIN32 API. The driver architecture is
radically different and the development and debug environment is also
completely changed. This reflects the more restricted processor
capabilities at which Windows CE was initially targetted. As the power
profiles of small and large microcomputer systems converge, Windows CE
is likely to continue to migrate into application-specific areas, such
as Windows Moble. The principles of driver development remain the same however and SystemSoft has worked with CE for a long time. Systems have been brought up from scratch, boot loaders written and drivers adapted to reflect particular requirements. See Windows CE for more information. |
In the Linux driver world, the GNU toolchain reigns supreme. SystemSoft regularly downloads, compiles and uses successive versions of BINUTILS, GCC and GDB. Using these tools a range of Linux-based, eCos based, and OS-bare systems have been successfully programmed and debugged.
As suggested above, not all computers have an Operating System. SystemSoft has worked with 8-, 16- and 32-bit systems where our software is the only game in town. This has included on-USB device code, serial device drivers, bootstrappers for more capable systems and on-board software for intelligent cards.
Finally, working at device driver level means that an understanding of (at least) the basics of hardware interfacing and we have oscilloscopes and logic analysers that can be used in support of this. We're never going to make hardware developers, but we can find out whether the 32-bit IO-cycle we're coding is delivering the data we expect.
Go back to the home page