Hi,
I've been trying to modify the dsplink memory map. Initially, I had this configured:
Linux: 34MB
CMEM: 16MB
DSP: 14MB
DDRALGHEAP: 10MB
DSPLINKMEM: 1MB
DDR: 3MB
I would like to change from 64MB to 128MB, to eventually increase DDR size. For the moment, I'm leaving the DSP memory space at the same size.
Linux: 98MB
CMEM: 16MB
DSP: 14MB
DDRALGHEAP: 10MB
DSPLINKMEM: 1MB
DDR: 3MB
Now, in order to do this, I followed the instructions at: http://processors.wiki.ti.com/index.php/Changing_DSPLink_Memory_Map.
1. I modified cs1omapl138_1_00_00/packages/ti/sdo/server/cs/server.tcf. And changed the var BASE_ADDR_BOTTOM = 0xC4000000 to 0xC8000000. This will change the reset vector address from 0xC3200000 to 0xC7200000 according to
RESET_VECTOR_BASE_ADDR = (BASE_ADDR_BOTTOM - DSPLINKMEM_SIZE - DSPEXTMEM_SIZE - DDRALGHEAP_SIZE) & 0xFFF00000;
2. I modified the dsplink_linux_1_65_00_01/dsplink/config/all/CFG_OMAPL138GEM_SHMEM.c file. I found out that the reset vector address is set to:
#define RESETCTRLADDR 0xC3E00000 : before I did my changes
Is that value suppose to be 0xC3200000 according to what was configured in the server.tcf file? If not, how is that value calculated?
3. I modified dsplink_linux_1_65_00_01/dsplink/dsp/inc/DspBios/5.XX/OMAPL138GEM/dsplink-omapl138gem-base.tci file, the prog.module("GBL").C64PLUSMAR192to223 to match my new map. In this file, the reset vector address is also set to 0xC3E00000, which also lead me to the previous question.
So I did my changes, rebuilt dsplink and the codec server, most of the codecs continued to work correctly except the AAC decoder which is supposed to send the audio stream to alsasink. If I revert my changes, it works again. Am I calculating wrong the Reset vector address? What else can cause this problem?
Regards,
Cristina