I want to memory copy L1 to DDR and DDR to L1 in 21569

Hi

MemoryCopyListMode_21569 example project is copying memory from L1 to L1.

I want to copy DDR from L1 and L1 from DDR.

"Byte directive not allowed in a word-addressed section". error has occurred when declaring memory for DDR.
The following is a DDR declaration in section.
DSTALIGN section ("seg_swco") static uint8_t DestDataBuf [ADI_CACHE_ROUND_UP_SIZE (MEMCOPY_BUF_SIZE, uint8_t)];

Can you tell me how to solve it? Thank you.

  • 0
    •  Analog Employees 
    on Jun 22, 2021 4:10 PM

    Hi Nandar,

    I think the sections you're looking to map to are "seg_int_data" for L1 and "seg_sdram" for DDR. "seg_swco" is meant for short word code instructions compiled using the '-short-word-code' switch, which is why you're encountering an error trying to map byte-addressed data types there. You'll also need to make sure you've enabled 'Use external memory (SDRAM)' in the LDF section of the Startup Code/LDF add-in to map to the "seg_sdram" section.

    You can find more information on the default LDF sections at "CrossCore® Embedded Studio 2.9.4 > SHARC® Development Tools Documentation > Linker and Utilities Manual > Linker > Link Target Description > Specifying the Memory Map > Default Memory Segments and Sections for SHARC Processors" in the CCES help.

    Best,

    Calum

  • Hi Calum,

    I set the SDRAM in the ldf file, so I was able to solve it.

    Thank you very much.