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.

TMS320F28388D: COFF and EABI formats diff

Part Number: TMS320F28388D


Hello,

What is the difference between COFF and EABI format?

I am having issues with boot time when using EABI format which is taking more time than COFF format. 

If I use EABI format the boot time takes 10ms, if  I use COFF format the boot time is 2ms what could be causing the big difference in EABI format?

My observation:

In EABI format I have found the global variable initialization takes a significant amount of time during cinit. I used the zero_init = of but ideally, we should not be using it for our software.

I cannot go with COFF format because the Flash Api is developed with EABI format and this needs to be integrated to my application.

Can you please let me know how can i achieve the same boot time as COFF format.

thanks,

Nagesh

  • Nagesh,

     I am having issues with boot time when using EABI format which is taking more time than COFF format. 

    This is one of the key difference. In EABI all the uninitialized variable get initialize to zero which is not the case in COFF hence you are seeing the BOOT time difference.

    You can find more about EABI vs COFF info on this link.

    Regards,

    Vivek Singh

  • Hi Vivek, 

    Thank you. 

    I went through the link for the difference between COFF and EABI.

    TI plans to phase of COFF format but can you please let us know until when TI plans to support COFF format is there an exact time frame so that, this can help us to decide on the formats to be chosen for our aero products.

    Since we have a boot time issue we are planning to use the COFF format for our product which is an easy approach as we have used this for our F28335 family of products. 

    what would be your suggestion on using this format.

    thanks,

    nagesh

  • Nagesh,

    For new devices we are only supporting EABI format so I need to check with our team on this.  

    On BOOT time issue, we discussed using --zero_init option on this post. That did not help to reduce BOOT time ?

    Regards,

    Vivek Singh

  • hi Vivek, 

    Yes, BOOT time issue reduced by using the zero_init option. but since we have used COFF format for other aero products and planned to use the same for now if we get to know the time frame of COFF format support from TI.

    Thanks,

    Nagesh

  • Hi Vivek, 

    Is there a compiler flag where we can disable the initialization of initialized global variables during the cinit in EABI format.

    apart from zero_init = off.

    I am aware there is autoinit.c file which I do not prefer to comment code provided by TI.

    Thanks,

    Nagesh

  • Nagesh,

    I have to refer this to our compiler team.

    Regards,

    Vivek Singh

  • NAGESH RK said:

    Is there a compiler flag where we can disable the initialization of initialized global variables during the cinit in EABI format.

    apart from zero_init = off.

    Unfortunately, no.

    Please consider using the linker option --cinit_compression=off.  This causes the initialization of global variables to be faster, but the initialization tables require more space in memory.  I don't know if this resolves the problem.  But it is easy to experiment and see.  For further details, please search the C28x assembly tools manual for the sub-chapter titled Compression (--cinit_compression and --copy_compression Option).

    Thanks and regards,

    -George