I started using VisualDSP++ 5.0 for a product with ADSP21065L.
My problem is that I get a strange overwriting of some specific memory cells in external SRAM memory, when the lib_setup_c() function is run as the first thing after restart.
This is what happens:
I use the standard header file 06x_hdr.asm included with VisualDSP++ 5.0 in a C project.
In the emulator I insert a breakpoint just before CALL ___lib_setup_c;
I verify that the C program code in addresses from 0x208BB to 0x208C4 is ok. This memory area is seg_pmco placed in external 32-bit wide SRAM, and is in the middle of my C program.
I then run the code in CALL ___lib_setup_c until execution stops at another breakpoint inserted just after CALL ___lib_setup_c; still in 06x_hdr.asm.
Then I can see in the Program Memory Window in VisualDSP that the 10 x 48-bit words from 0x208BB to 0x208C4 are all set to 0x000000000000.
Both the VisualDSP++ 5.0 Emulator and Simulator gives the same result.
I have all the C code, the stack and heap placed in external memory. It always was so with the old tools and it worked without problems.
Attached is a test project that does the same thing as described above.
I wonder if you can tell me what is wrong?