EZ-USB FX2 how to develop a useful driver | Cypress Semiconductor
EZ-USB FX2 how to develop a useful driver
I am a young software developer 28 5 years as a pro. (C#.NET)
I am having a camera (Orion Starshoot Deep Space Imager) which i am trying to write a linux driver to.
Because it dos not have a linux driver.
I known from windows that it use the EZ-USB FX2. The installer installs it when I use the software
If i open the cam (with a screwdriver) i can se that it has the CY7C68013A-100ACX chip.
Which i a low powered chip for commercial use.
The cam is from Optronic Technologies.
I have try to read some documentation on it but i have many unsolved questions.
I think that you clever people can answer them.
Here they come:
Is the EPPROM filled with firmware when the device is bought or is the firmware loaded from the PC into the device each time it is pluged in?
Is a EPPROM a solid state memory which hold the firmware, in my case the firmware from optronic?
When the documentation state that it is possible to upload and download firmware to the device how are the words used? Is the word downloading meaning from the host pc into the device, and uploading from the device to the host pc?
I have maneged through LibUsbDotNet to communicate to the device. For instance get descriptors and changing a few values. But I can se that the VID and PID is changed when i am plugin in the device into my PC (Running Linux with Virtual Box with XP with EZUSB software) If Virtualbox is closed it does not perform the enumaration, but is I start up VirtualBox with windows XP on, it does the enumeration. I think that I am only communication with the default hardware in the device not through the software firmware.
Now I would like to know. The firmware to the cam change the cams behavier, like differents endpoint and requests, right? but where is this firmware placed are it placed in the cam (EPPROM) or is it downloaded. If it is downloaded to the device each time. Where can i find the correct firmware for my device? Which I can load in to the device before i start the normal communication through the usb command?
It will be much more easy if i could just snif the communication from windows to the device and then in linux sending the same command through lib usb. But that requere the same behavier from the cam.
Dont you think it is possible for me to actually do it?
Where should I start...?