Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 01 Feb 2008 01:37 PM by  mikee@logicpd.com
WEIM bus examples
 5 Replies
Sort:
You are not authorized to post a reply.
Author Messages
pavel.haintz@kongsberg.com
New Member
New Member
Posts:


--
28 Jan 2008 11:47 AM
    I am looking at connecting the i.MX31 module to an FPGA using the WEIM bus.

    Is there a driver in WinCE BSP for the WEIM bus?

    Is there any example code available using the WEIM bus under WinCE?

    Thanks,
    Pavel
    mikee@logicpd.com
    New Member
    New Member
    Posts:


    --
    31 Jan 2008 02:52 PM
    Pavel,

    You don't really need any "WEIM-bus-specific" examples to do this, as it is a local bus. As such, there isn't really a bus-driver like there would potentially be for PCI, USB, etc. What you need to do is write a "stream-interface" device driver to interface to your FPGA. That requires at least the following set of knowledge/skills:

      * WinCE stream-inteface device driver architecture, loading, registry keys, and interaction with "device.exe"
      * Interrupt Service Routines (ISR)
      * Interrupt Service Threads (IST)
      * Installing ISRs and ISTs and communicating between the two
      * Dealing with the Windows CE virtual memory model to access physical addresses
      * Assorted driver debugging, testing, and profiling topics


    Are you at all familiar with writing device drivers for WinCE?

    --mikee
    pavel.haintz@kongsberg.com
    New Member
    New Member
    Posts:


    --
    01 Feb 2008 10:21 AM
    I have not writen a device driver for WinCE, but I have done realtime embedded system programming with ISRs.

    I am also looking at possibly using Linux or VxWorks.

    Thanks,
    Pavel
    mikee@logicpd.com
    New Member
    New Member
    Posts:


    --
    01 Feb 2008 10:43 AM
    Windows CE drivers aren't necessarily the hardest thing in the world to take on, but I think you should think carefully about it before just "wading-in." You will want to allow yourself plenty of time to do proper research and I would highly recommend taking a course. Logic typically offers a 3-day, hands-on WinCE course a few times a year and we do cover device driver development. Unfortunately, we don't have a public course scheduled right now due to some internal resourcing issues and commitments to our customers.

    Our applications engineering group would also do this work for you under contract. Engaging them is almost certain to be the fastest, cheapest, and most reliable way to accomplish your goal. Have you talked to them yet?

    --mikee
    pavel.haintz@kongsberg.com
    New Member
    New Member
    Posts:


    --
    01 Feb 2008 12:50 PM
    Is the contact information for the applications engineering group:
    Product Development Services Inquiries
    services@logicpd.com

    Another option could be to use the USB2.0 port and make our FPGA look like a flash drive. In our application the data will be mainly going from the FPGA to the i.MX31 board, with control commands going in the other direction.

    Thanks,
    Pavel
    mikee@logicpd.com
    New Member
    New Member
    Posts:


    --
    01 Feb 2008 01:37 PM
    Pavel,

    That email is for our design services group. You want to use the product's support page:

    http://www.logicpd.com/support/

    Just use the "Ask a Question" interface and our Technical Marketing Engineer will get you moving from there.

    As far as making your FPGA look like a flash drive, that's interesting, but might not work the way you think. In that case, you would be calling in the WinCE USB host stack into play which would involve at least these three components:
      * USB host controller driver
      * USB stack driver
      * Generic USB Mass Storage Class device driver


    By default, WinCE will want to treat that as a block device and lay some sort of file-system over the top of it. So, unless your FPGA is going to emulate a FAT file system (or something similar), I think that would be a difficult path to try and get what you want.

    A Stream Interface driver is almost certainly what you need. In that instance, applications open up the device as if it is a regular file and perform operations on it such as; read, write, open, close, I/O Control, etc.

    --mikee
    You are not authorized to post a reply.