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 1.1.0.0

     

    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 2.1.0.0 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 (1.1.0.0 for 479 and 2.1.0.0 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 2.1.0.0+21489 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?

 

Thanks

 

Marco

Outcomes