Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
I'm trying to use the GPIF as a master to read/write and SRAM type devices. Since these devices have different characteristics, I need to change GPIF configurations frequently. But I don't want to reboot and load different firmware every time. I plan to change configurations, such as clock frequence and port width, by control endpoint during running time.
The DMA config would depend upon the two different GPIF configurations that are going to be loaded one after the other.
If there is no change necessary in the DMA size, count, or type when you are switching between the GPIF configurations, then CyU3PDmaChannelReset() and CyU3PDmaChannelSetXfer() calls would suffice. But if the new GPIF configuration needs the DMA channel parameters to be changed, then you would need to perform a CyU3PDmaChannelDestroy() and then create a new DMA channel with the new parameters.
I tried to change the bus width of GPIF. However, the new width becomes effective from second transfer after I changed the width. That is to say, the first packet I sent from USB still uses the old settings. Why?