SystemSoft Technologies


In the IT industry it's key to keep abreast of current technology but impossible to be master of them all. 

Programming Languages

'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. 

PC Software Architectures

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.

Windows

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.

Linux and other architectures

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.

Hardware

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