I've modified the VideoInEdgeDetection software from the Blackfin SDK and wanted to ask about ldf files.
I am now trying to optimise my code. Using statistical profiling and mixed view, I can see that the delay comes from two main areas - (1) Read/write of data (2) Conditional jump (if() statement).
I have several buffers that I use and want to place them in separate banks to avoid collisions (to help address (1)). Ideally this would be in L1 but, at the very least, L2 SRAM.
My question is how do I modify the ldf to put buffers in different banks? I read something in some other example code about using RESOLVE() within the ldf but it didn't explain how it works.
Or do I just define my own sub bank sections in the ldf? What is the simplest way to do this?
Also, how will me defining these sub banks effect what the linker is already putting into that sub bank? For example, if right now some data (call it X) is being placed in L1 data bank A, sub bank 1 and now I define this area as a sub bank - will the linker still put X in that sub bank or will I have to explicitly tell it to put it there?
Finally, can you please explain (or point me to the documentation) that explains whether or not I can have simultaneuous access (DMA and normal read/write) to L1, L2.
Sorry for the plethera of questions!