I'm using fx3 gpif II connect to fpga to get data. I've designed gpif state machine and tested using auto many to one mode and it works. I then followed the AN75779 image sensor sample and switched to manual many to one dma channel because we need to add some header information or insert some packet. However I've been stuck for a couple of days struggling to make it work. The dma callback is called but if I make any calls like CyU3PDmaMultiChannelGetBuffer or CommitBuffer/DiscarBuffer my whole program stuck, the output from my main thread also stops. It seems to me it somehow crashed. If I debug using openOCD I cannot see what are the errors.
Does anybody has any suggestions on what might cause the problem or how to debug this situation?
It turns out to be a trivia problem. There are some api I cannot use in the callback context, some examples are debugprint. Remove them fixed the problme