I´m trying to implement code overlays in ADSP-21363, with visualDSP 4.0. I have modified ldf file and I am using the overlay manager taken from EE-230 (with 2 overlays, not four) . I have configured "live section" as PM RAM, ¿is this correct?, and I am using the PACKING that apears in EE-230 for 8 bit memories. (the same, is this correct?
I can see that when I call overlay function, "plit code" starts and program jumps to overlay manager. The overlay manager, configures Parallel port DMA correctly and starts DMA transfer, but I cant never see external data in program memory. Program memory never changes. So when overlay manager´s last intruction jumps to run memory, aplication fails, because there is no "program" in these addresses.
As I have not got the code overlay, I have tried to write directly in program memory, configuring parallel port registers
I´m trying to access to PM memory using DMA. I want to transfer 2 instruction stored in an external RAM to program memory
I configure :
* (volatile int *)IIPP = 0xb0000 //Internal PM memory (48 bits) but I have to use like if it was a 32 bit memory.
* (volatile int *)IMPP = 1;
* (volatile int *)ICPP = 0x3; // 2 x 48bits = 3 x 32 bits
* (volatile int *)EMPP = 1;
* (volatile int *)EIPP = 0x1280000; //External RAM
* (volatile int *)ECPP = 0xc; // 3 x 4 x 8bits
* (volatile int *)PPCTL = PPBHC | PPDUR15;
* (volatile int *)PPCTL | = PPDEN | PPEN;
If I put in external memory:
0x1280000 12 34 56 78
0x1280004 12 34 56 78
0x1280008 12 34 56 78
and execute the code, when I open program memory window ( Memory -> Three Column), I should see:
0xb0000 12 34 56 78 12 34
0xb0001 56 78 12 34 56 78
but I dont any changes. In these addresses I see the same values.
I have the same problems that with code overlays.
If I use data memory addresses instead of program memory addresses, I see that data are written...but I need to write program memory!
Could anyone help me?