- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I found the FX3 FAQs (KBA224051), the description of BACKFLOW_DETECT in this article was as follows:
Question: In the AN75779 example, I enabled BACKFLOW_DETECT. When the FX3 Firmware calls CyU3PGpifDisable(), FX3 occasionally stops responding. Why does it happen?
Answer: It may happen because of PIB/GPIF error interrupts invoked in the application. If you enable BACKFLOW_DETECT, you need to disable any interrupt with the CyU3PVicDisableAllInterrupts() function during the CyU3PGpifDisable() process.
I actually encountered this problem and was able to solve it with the provided workaround, but there are some questions.
In the AN75779 source code, the PIB/GPIF error interupt callback function only sets 1 to the flag.
So I don't think there is a problem with the processing.
What mechanism does FX3 stop responding to?
My application also uses UART interrupts, can I disable only PIB/GPIB error interrupts?
Please let me know if you have any information.
Regards,
Shimamura
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Shimamura-san,
Sorry for the delay.
I understood disabling only CY_U3P_VIC_PIB_CORE_VECTOR does not help to resolve its issue.
You can mask PIB_ERR and GPIF_ERR to resolve its issue, not need to mask MMC_ERR.
PIB->intr_mask &= ~(CY_U3P_PIB_INTR_PIB_ERR | CY_U3P_PIB_INTR_GPIF_ERR );
Best regards,
Hirotaka Takayama