Hi,
We are starting to put our custom kernels on the TDA4 DSPs (C66s, C7x).
To ensure fast memory access, we plan to use the strategy of the example vision_apps/apps/basic_demos/app_c7x_kernel/c7x, which is:
- Allocate memory in L2 SRAM for inputs and outputs
- DMA from target_ptr to allocated L2 SRAM
- Compute using L2's SRAM buffers
- DMA output from L2 SRAM to target_ptr
That part seems straight-forward. Where we have doubts is when reading the documentation of TIVX_MEM_INTERNAL_L2, which is passed to tivxMemAlloc():
- Does that mean that any call to tivxMemFree() deallocates every previously allocated segment? e.g.:
- Or does that mean that allocated memory should be deallocated in a FILO manner? e.g.:
- What would happen if the proper order is not respected? e.g.:
