- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am implementing Fail Safe Firmware update which is referred here
I followed all instructions mentioned over there, but instead of using I2C I am using SPI flash. It is working fine with Fx3BootAppGcc and USBBulkSourceSink . But this time I am using Cx3UvcOV5640 instead of USBBulkSourceSink , I have included all the vendor commands part in Cx3UvcOV5640 . The Cx3UvcOV5640 task is being done properly but when I try to update the firmware using the FirmwareUpdate tool provided in the same link(above mentioned) it is not being done. I found that USB requests are not reaching Cx3UvcOV5640, so that vendor command part is not getting executed.
So, I want to know two things here
1. Why Cx3UvcOV5640 is unable to get USB request from host application?
2. Does Cx3UvcOV5640 only capable of receiving USB request from an UVC supported host application?
Thanks,
Abdul.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Abdul,
Please let me know if you are using the default Cx3UvcOV5640 project. If yes, then please find my comments below:
1. The default Cx3UvcOV5640 project enumerates as a UVC device. The host application that you are using issues vendor commands only to a vendor device. So, you should be having a vendor interface in your device to accept the vendor commands issued by the host application.
Yes, you are correct. The default project has only UVC interface. So, it can accept commands from a UVC host application only.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Abdul,
Please let me know if you are using the default Cx3UvcOV5640 project. If yes, then please find my comments below:
1. The default Cx3UvcOV5640 project enumerates as a UVC device. The host application that you are using issues vendor commands only to a vendor device. So, you should be having a vendor interface in your device to accept the vendor commands issued by the host application.
Yes, you are correct. The default project has only UVC interface. So, it can accept commands from a UVC host application only.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jayakrishna,
Thank you for responding. Yes I am using default Cx3UvcOV5640 project. I tried to have a vendor-interface in my device with the help of this link but it haven't worked well. In this link they said to update length of the descriptor in CyFxUSBHSConfigDscr[] and CyFxUSBSSConfigDscr[] D9 to E2 and CD to D6 respectively but I didn't find length of descriptor as D9 or CD in both the arrays. So, I added 0x09 to the existing length--Is it right or wrong?
If I am wrong, Please provide reference for adding vendor-interface to UVC device.
All other steps were followed as they mentioned. Still my UVC device is not able to receive vendor commands.
Thank you,
Abdul.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Abdul,
The KBA that you are referring to is for the firmware that comes along with AN75779 which makes use of a different set of descriptors. The field that the KBA mentions should be populated with the sum of all the descriptor sizes inside the configuration descriptor. And this sum should be populated in little endian format. Please refer to the USB specification to understand more on this.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Okay Thank you Jayakrishna.