
 |
 |

Software > System software
For us, system software are software that interact with the heart of the operating system. To achieve the required performance and function, you must have a very good knowledge of the operating system. You must also use the right tool for the right job. We do not use Borland Delphi to write device driver...
| |
 |
Device driver
|
 |
 |
Accessing your hardware 10 years ago with MS-DOS was really easy: a simple 'IN' or 'OUT' assembly language instruction did the job.
Now, with modern operating systems like Microsoft Windows it is not allowed anymore to do that. Your attempts are immediatly trapped by the operating system, thank to the protection mechanism of the processor.
To access your hardware and maintain the good performance of the operating system, you need a device driver.
A device driver is a special kind of software that transform your real mode application calls down to the kernel mode, the only mode which can access directly your hardware.
When you are thinking of PCI, DMA, interrupt, scatter-gather, etc... you must use the support provided by the operating system.
We know how to write device driver that will not crash your machine, that will install like a breeze. We have developped dozens of device drivers for our customers' custom boards.
|
| |
 |
DLLs
|
| |
 |
Dynamic Link Libraries (DLLs) are not only a place where code can be shared among several processes. It is also the place where you can share data among other processes.
There are also used to make the connection between multi language applications. A software with a complex user interfacen and complex TCP/IP handling? Use the power of VB for the user interface and place the TCP/IP handling in a DLL. Use the power of both language in the same application!
To access the functionnalities offered by a device driver (to grab a video frame for example). A DLL is the place to be of the common code that communicates with the driver, to hide the device driver internals, to protect your code and of course, to be able to access your driver from several application at the same time. It makes debugging much easier also because you can use a special test program to verify the DLL and the device driver and to debug the hardware if necessary.
|
| |
 |
Control panel applications
|
 |
 |
Every application has configuration data. Base I/O address for an (obsolete) ISA board, configuration of a buffer size of device driver, list of allowed operation, etc. The place to be in the Windows OSes for that is the control panel, where you place a control panel application.
To be considered by windows like other control panel applications, it must follow rules: icon handling, use of other DLLs, callback functions, etc.
|
| |
 |
Taskbar icons
|
 |
 |
Have you ever seen a small letter in your taskbar indicating that you received a new email? We know how to make your application notifies the user with the use of the power of the interface mechanisms found in Windows.
We know
|
| |
 |
Shell Extension handler
|
 |
 |
When you want the maximum interactivity for your application, you need to work with the Windows Shell. Want a thumbnail view for files coming from your special imaging software? Want a popup window like messenger popups when your hardware fails to communicate? Want to add your application in the right click menu in the file explorer?
We are in the world of the Shell Extension handlers.
|
| |
 |
gateways
|
| |
 |
As electronic engineers, we know what communication means. Retry, baud rate, keep alive, start of frame, procotol, checksum, rising time, crossover, terminator, acknowledge, etc. We know all of that.
We have worked with a lot of protocols and have developped several for our customers, we made gateways to make PLCs communication with UNIX hosts, etc.
|
| |
 |
Internals...
|
 |
 |
Kernel debugging, device I/O, DLLs, processes and threads, files and I/O, inter process communication, memory management, performance monitoring, power management, user interface, etc.
We have worked with almost every aspect of the Windows operation system.
|
| |
 |
Your project !
|
| |
 |
It is worth to talk about your project and receive advice from professionals.
We are mastering the windows internals, from the deep kernel mode up to the details of complex user interfaces.
Click here to contact us and discuss about your project.
|
|
 |