This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/AM5728: CMEM Shared Region access

Part Number: AM5728

Tool/software: TI-RTOS

Hi,
       We are using evmAM5728 with RTOS in DSP1 and DSP2. I would brief you with scenario, there are two cores DSP1 and DSP2 which has common structure kept in cmem area "0xA0000000" . DSP1 writes the data in structure when its flag is 0 and simillarly DSP2 will update the data if flag is 1 . We have our custom resource table(in file rsc_table_vayu_dsp.c) in which we have added the cmem region .Structure is kept on the cmem region using "#pragma DATA_SECTION(cmemShardStruct, ".ipcstruct")" (In file variable.h). Section mapping has been done in app.cfg file. We want to share these structure between two DSP's and with Linux core without using any IPC api's. 

Now when we start the program , we get following error "bad phdr da 0xa0000000 mem 0x8". Detail Error has been attached below.

Project for DSP1 core has been added here for the reference. 

SharedStruct.zip

  • Hello,

    You need to add the entry 0xa0000000 to the resource table. Please take a look at the CMEM implementation in the big buffer example for reference:

  • Hello Sahin,
    Thanks for the reply.
    We have already added the entry 0xa0000000 in the resource table and tested but we get the same error "bad phdr da 0xa0000000 mem 0x8" . And as informed to in previous message, we do not want to use any IPC's api or CMEM api's.
    Our aim is to keep the structure in CMEM region and access the structure as we locally access it. So my question is, What changes should be done in my current code so that the structure is stored in CMEM region and accessed from any core without any api's (i.e as we access the structure locally) ?

    Thanks