AnsweredAssumed Answered

Can't compile SW code when in segment "seg_ext_code"

Question asked by mlomonaco on Mar 1, 2016
Latest reply on Mar 25, 2016 by Kader.M

Hello everybody,

when compiling with the VISA code switch enabled but the code is located in the seg_ext_code segment (external memory), the LDF seems to ignore it. Note that this happens only in CCES 2.1.0 (in 1.1.0 it works perfectly).

This is what happens:

  • in CCES


    section("seg_ext_code") void myfun(void)  
    // .. do something with code on external sdram  


       is correctly recognized by the LDF and compiled as VISA by the given compiler directive

  • in CCES section("seg_ext_code") is not correctly recognized, and I had to use section("seg_swco") instead.


All the LDFs in both CCES were the same one ( for 479 and for 489), and eventually regenerated thru the standard option of the system.svc plugin wizard (enabling 32MB external ram on ADSP214{7,8}9 KIT EZLITE).


What happens is basically that in this LDF code:


dxe_sdram_sw_code SW  
         FILL(0x1) /* fill in gaps in the memory with NOPs */  
         INPUT_SECTIONS( $OBJS_LIBS(seg_ext_code seg_swco seg_pmco) )           
} > mem_sdram_swco  
dxe_sdram_nw_code PM  
         INPUT_SECTIONS( $OBJS_LIBS(seg_ext_code seg_pmco) )  
} > mem_sdram_nwco  


on CCES the output section dxe_sdram_sw_code is being ignored for input sections named seg_ext_code, while it is not if the name seq_swco is used.

Makes any sense to you?