Hi,
I'm programming the VCP2 on a C6474 multi-core platform and my hunch is that I am running into input or output buffer misalignment problems. My code runs with some buffer length (and advance stride) settings, but fails with others. EDMA3 transfers need to be double(?) word-aligned. In general, is there a way for a function to enforce certain alignment of an input pointer parameter, i.e., detect and trap or crash if an expected alignment is not met upon a function call? I couldn't find anything in optimizing compiler guide or the programming guide. There are ways to create an aligned buffer, but what if I forget to put that pragma, or advance my pointer by an odd amount?
The best I can think of is to use a runtime pointer address check such as
if ((Uint32)inpPtr % 8) trap( );
but it will be very expensive. Can I at least use regular ASSERTions? (not _nassert)? I am not using DSP/BIOS.
Thanks,
Manu