- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Host Platform: Ubuntu
1) Why does download_fx3.cpp not use/call cyusb_download_fx3 (cyusb_linux_1.0.5/cyusb.h)?
Is it just because the latter is RAM only whereas download_fx3.cpp also supports I2C & SPI?
2) Is there any source available for cyusb_download_fx3() ?
Or is cyusb_download_fx3() really the fx3_usbboot_download() implementation in download_fx3.cpp?
3) The FX3 SDK includes cyfxflashprog.c/cyfxflashprog.img.
I assume this is the identical source used to gen the img used by download_fx3.cpp?.. it has the same name ...
Thanks
John
Solved! Go to Solution.
- Labels:
-
ispn:38621:1:0
-
l1:314:1:0
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello John,
Why does download_fx3.cpp not use/call cyusb_download_fx3 (cyusb_linux_1.0.5/cyusb.h)?
Is it just because the latter is RAM only whereas download_fx3.cpp also supports I2C & SPI?
>> The download_fx3.cpp program supports FX3 firmware download to device RAM, I2C EEPROM or SPI Flash.
Before programming to SPI FLASH or I2C EEPROM, the firmware cyfxflashprog.img is loaded to RAM using fx3_usbboot_download and cyfxflashprog firmware handles the read/write to SPI Flash/I2C EEPROM based on the vendor commands.
I will confirm the reason for not using cyusb_download_fx3 and let out know as soon as possible.
Is there any source available for cyusb_download_fx3() ?
>> You can find the source of cyusb_download_fx3 in libcyusb.cpp
Path:SDK installation path\cyusb_linux_1.0.5\lib
Or is cyusb_download_fx3() really the fx3_usbboot_download() implementation in download_fx3.cpp?
>> The implementation of cyusb_download_fx3 and fx3_usbboot_download is almost similar but cyusb_download_fx3 includes more checks.
You can confirm this by referring to the source of cyusb_download_fx3
The FX3 SDK includes cyfxflashprog.c/cyfxflashprog.img.
I assume this is the identical source used to gen the img used by download_fx3.cpp?
>> Yes, the same firmware cyfxflashprog of the FX3 SDK is used to program the I2C EEPROM/ SPI FLASH
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello John,
Why does download_fx3.cpp not use/call cyusb_download_fx3 (cyusb_linux_1.0.5/cyusb.h)?
Is it just because the latter is RAM only whereas download_fx3.cpp also supports I2C & SPI?
>> The download_fx3.cpp program supports FX3 firmware download to device RAM, I2C EEPROM or SPI Flash.
Before programming to SPI FLASH or I2C EEPROM, the firmware cyfxflashprog.img is loaded to RAM using fx3_usbboot_download and cyfxflashprog firmware handles the read/write to SPI Flash/I2C EEPROM based on the vendor commands.
I will confirm the reason for not using cyusb_download_fx3 and let out know as soon as possible.
Is there any source available for cyusb_download_fx3() ?
>> You can find the source of cyusb_download_fx3 in libcyusb.cpp
Path:SDK installation path\cyusb_linux_1.0.5\lib
Or is cyusb_download_fx3() really the fx3_usbboot_download() implementation in download_fx3.cpp?
>> The implementation of cyusb_download_fx3 and fx3_usbboot_download is almost similar but cyusb_download_fx3 includes more checks.
You can confirm this by referring to the source of cyusb_download_fx3
The FX3 SDK includes cyfxflashprog.c/cyfxflashprog.img.
I assume this is the identical source used to gen the img used by download_fx3.cpp?
>> Yes, the same firmware cyfxflashprog of the FX3 SDK is used to program the I2C EEPROM/ SPI FLASH
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the prompt responses/confirmations to my questions.
Darn. Somehow my grep missed libcyusb.cpp in the lib folder!
cyusb_download_fx3() and fx3_usbboot_download() look similar - as you noted - but have some distinct implementation differences, apart from fx3_usbboot_download() doing more checks.
I'll await your response on why 2 flavors are in the SDK and not just incorporate one into libcyusb.cpp.
I will use fx3_usbboot_download() - its better for my needs
Cheers
John
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
There is no particular reason for fx3_usbboot_download API instead of cyusb_download_fx3.
The implementation of cyusb_download_fx3 and fx3_usbboot_download is almost similar but cyusb_download_fx3 includes more checks.
Any of the above API can be used in the application.
Note: We have recently seen a problem with cyusb_download_fx3 (refer to this thread Possible bug in cyusb_linux_1.0.5 library | Cypress Developer Community) which will be fixed in the next FX3 SDK release
Regards,
Rashi
Rashi