- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm trying to write my custom FW update tool for FX3 based on example app for Visual studio.
Particularly, I want to provide visual progress bar displaying current progress of burning I2C EEPROM.
Here are some things that aren't quite clear for me so I'll be glad to get help:
1) CyAPI.h contains class "CCyFX3Device" but only DownloadFW() and IsBootLoaderRunning() methods are documented. What about all other methods?
e.g. DownloadBufferToDevice?
2) "CCyFX3Device" extends class "CCyUSBDevice". Which of its methods are used for DownloadFW()? Can I get the source of DownloadFW?
3) Can I get the sources of CyBootProgrammer.img?
Thanks,
Leonid
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
The two points that you mentioned in the previous response is correct and we do not give out the BootLoader Source code.
Can you please let me know the reason why you require the BootLoader source. What exactly do you want to do with the update tool for FX3?
If you are looking to just program the RAM, I2C EEPROM or the SPI Flash, the control center application source can be used/altered for the same.
Best Regards,
Yatheesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
The DownloadFW() and DownloadBufferToDevice() function source is present in the CyAPI.lib source code. Please download the CYUSB Suite Source from this link: https://www.cypress.com/file/289981/download to obtain the CyAPI.lib source.
The USBFlagProg project in the FX3 SDK is the same as CyBootProgrammer.img. Please refer to the same.
Best Regards,
Yatheesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Yatheesh
Thanks, I found sources of CyAPI
As for "USBFlagProg" - I searched all over Cypress installation but didn't found any. Could you please, clarify where can I found one?
Thanks,
Leonid
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Leonid,
The USBFlashProg project is present in the following path: <FX3 installation directory>\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxflashprog
Apologies, the project is USBFlashProg and not USBFlagProg.
Thanks,
Yatheesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Yatheesh,
Looks like this project contains bug - when burned to RAM Control center asks to reset FX3 again before burning another image.
I investigated the issue - this example doesn't respond to IsBootLoaderRunning function from CyAPI.
Particularly this example doesn't handle at all request 0xA0 which is used in CyAPI
Moreover, there is no handling of "Program RAM" option in this example
Could you please check and advice solution/workaround?
Thanks,
Leonid
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think there is misunderstanding.
There are two different parts:
1) Cypress FX3 USB BootLoader Device
can only burn RAM
2) Cypress FX3 USB BootProgrammer Device (compiled to CyBootProgrammer.img)
programmed to RAM when user wants to burn I2C
can burn I2C and SPI
Where can I get source of the first one?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
The two points that you mentioned in the previous response is correct and we do not give out the BootLoader Source code.
Can you please let me know the reason why you require the BootLoader source. What exactly do you want to do with the update tool for FX3?
If you are looking to just program the RAM, I2C EEPROM or the SPI Flash, the control center application source can be used/altered for the same.
Best Regards,
Yatheesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Yatheesh,
It's not enough to alter ControlCenter because FX3 FW part also should be altered respectively
Right now I see that USBFlashProg (CyBootProgrammer.img) can't burn RAM
BTW, Cypress\EZ-USB FX3 SDK\1.3\firmware\boot_fw example looks like bootloader, doesn't it?
Anyway looks like I got what I need. Thanks for support
Thanks,
Leonid
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Leonid,
Cypress\EZ-USB FX3 SDK\1.3\firmware\boot_fw uses second stage boot loader, to load the firmware. You can use this to jump between the actual firmware and the second stage boot loader and to rerun or reload the firmware.
Best Regards,
Yatheesh