WinCE SPI Driver VF50 Colibri

Hello everyone, good afternoon!

I have a question about the drivers for WindowsCE and found no information on this.

I purchased a VF50 Colibri with the Aster board recently and I’m doing the portability of an application that was developed for the FriendlyARM Mini2440 Board. The application was developed in VB.NET and runs on a WindowsCE 6 created in Visual Studio 2005 with Platform Build and changes were made to the SPI driver (in the source code) to perform other functions such as filters, conversions of readings and others between one reading and other. Using the standard driverI have a time spent between readings and the minimum delay of the Net Framework is 1 millisecond and it interrupts the process to perform actions ordered by Windows. Our application needs high precision timers (1us) because the reading cycle is done in 20us in the worst case.

When we were compiling the new WinCE 6 image for Colibri, the source code and SPI header files are not provided to make changes and there is no literature on the subject. The question is is there a way to get this source code to change it? or header files and develop this new SPI driver?

We are in a critical phase of the process where we want to decide whether we move to the VF50 Colibri or we continue on the platform we are in and this is the last drawback.

Thank you very much in advance.

Victor Bonesi
Hot Tec Tecnologia Preditiva Ltda.

Dear @vbonesi

We implemented the SPI support in form of a user mode library (Toradex CE Libraries).
If you need the source code, you can purchase it for the cost of 2 support hours.
If your request is only about the header files containing the register definitions for the SPI peripheral, I can send this to you for free.

However, our SPI implementation was optimized for general use cases and compatibility to other modules. It will require you to do quite some modifications in order to achieve reaction times of less than 20µs.
We build our standard WinCe image in a way, that you can do this either in form of a driver, or you also do it as a regular user mode application (native C, not .NET). The latter has the advantage that you don’t need to maintain your own OS image, but can always use our default image and thus take advantage of any improvements we do on our side.

I’m afraid the only documentation available is the description of the SPI peripheral in the VF50 reference manual.

Regards, Andy