I was trying to build slave FIFO syncronous example from AN65974 and this is the error I have encountered.
error: 'CyU3PSysClockConfig_t' has no member named 'setSysClk400'
What can be done with this problem??
you may use an old FX3 SDK version. Try the actual version 1.2.3. Or you try to compile the bootloader code because there is the setSysClk400 not used.
Thanks for the reply
I too figured out the same issue and its fine now.
I now want to download the firmware into USB 3.0 controller , I am presently using 1.2.3.
How can i do that??
You can use Control center to download image file into FX3's RAM.
Please refer to 16th page following application note to know the steps for programming FX3.
Thanks for the reply Sai Krishna.
I am trying to do the same in the control center but it doesnt work.
When I try to program the RAM it says please reset your device for downloading firmware.
When I reset the device using the option in the toolbar.
it says device reset successful thats it. The same story continues again.
Any other way to solve the problem.
FYI I am not using the DVK board.
Is there any Flash memory (I2C EEPROM or SPI flash) connected to FX3 device on your board?.
What is the VID and PID of your board when you connect it to PC?
I think there should be some program in the connected flash memories. That is the reason why control center is asking you to reset the device.
Is there any option for you to change the PMOD settings on your board?
1st answer: yes the usb 3.0 is connected to SPI flash.
2nd answer: VID: 04B4 PID: 00F2
3rd answer: I am looking for the PMOD settings the PMOD Settings are meant to select 16 bit or 32 bit slavefifo interface.
I will go through more about the PMOD settings.
But what are the options for now??
I cant change the pmod settings they are set to SPI flash.
Can I program the FX3 using SPI ??
One more question (sorry for changing the topic)
after downloading the firmware if we can see all the endpoints which we configured does it mean a DMA channel between endpoint and socket has been created succesfully??
If you cannot change the PMOD settings then at least you should have support for erasing the SPI flash in the firmware (at least initial 4bytes).
You can do this by sending a vendor command to your device whenever you want to re-program it.
But for now, I would suggest you to connect SPI_CLK or SPI_MISO lines to ground with the help of a wire(temporarily while you connect your board to PC) so that it will fall back to USB boot.
Then you can re-program the SPI flash with your new firmware image.
But this time you make sure that your firmware supports erase of initial bytes in the SPI flash.
Thanks for your time Sai Krishna .
But can you elaborate on how to erase the initial bytes in SPI. or do you have an example program??
It would be very much helpful.
Please refer to USBFlashProg example project.
CyFxUSBSetupCB () shows you how can you add a vendor command. Look for CY_FX_RQT_SPI_FLASH_ERASE_POLL.
CyFxFlashProgEraseSector() does the job for you.
Please let me know if you need any more details from me.
Hello Sai Krishna,
I have now solved the problem of the flash memory I have erase the flash and can load my program in RAM.
But the latest problem is really different..
When I start the cypress control centre it has by default a slavefifo program booted and shows me one bulk out endpoint and bulk in endpoint.
WHen I transfer data from Bulk OUT endpoint I have an error saying
"BULK OUT transfer failed with Error Code:997"
When I program the RAM again with slave fifo image file I can transfer data from the end point but the problem is the flash memory clock and my fpga_prog pin are some how connected which makes my fpga not initialize.
This happens only with slavefifo firmware booted in to the FX3.