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.

Compiler/TMS320F280049: suggestions for the error #10099-D

Part Number: TMS320F280049


Tool/software: TI C/C++ Compiler

My customer met the error #10099-D after build project. However, they have checked the space of memory is enough. After they improved the optimization level from 0 to 1, the code will build successful. Or when they shielded the rest code, the project also would build successfully. Could you please help check any suggestions for this error? Thank you.

  • Hi Aki,

    Can you share the linker cmd file or map file?

    Something that may help is setting the following project option in CCS:

    Right click project name and select properties --> expand Build --> Expand C2000 Compiler --> Expand Advanced Options --> Runtime Model Options

    Turn on "Place each function in a separate subsection" at the top.

    Best,

    Kevin

  • Aki,

    Please check where .text section is mapped to in the linker cmd file.

    They can combine couple of Flash sectors together to fit .text as needed.

    Thanks and regards,
    Vamsi

  • Hi Kevin,

    It works now with your suggestions"Turn on "Place each function in a separate subsection"! Could you please help share the reason for this and any future concern with this configuration changed? Thank you.

  • Vamsi,

    They changed the below 

    .text            : >>FLASH_BANK0_SEC1 | FLASH_BANK0_SEC2 | FLASH_BANK0_SEC3,   PAGE = 0, ALIGN(4)

    to 

       .text            : >>FLASH_BANK0_SEC1 | FLASH_BANK0_SEC2 | FLASH_BANK0_SEC3 | FLASH_BANK0_SEC4 | FLASH_BANK0_SEC5,   PAGE = 0, ALIGN(4)

    it still failed. 

    The issue is strange. And it works now with Kevin's suggestion. 

  • Hi Aki,

    Glad to hear that worked.

    Selecting the "Place each function in a separate subsection" option will place each function used in the application (will ignore functions not used I believe) into its own memory subsection during compilation. Without this you can run into issues where the functions in a source file or library won't all fit into a section of the device's RAM or Flash when lumped together.

    This concept can be more easily witnessed if you view the .map file generated after compilation. Try comparing the .map generated when the option is off versus when it is on to see what I mean. If you want more details I think the CCS or Compiler teams could provide more info.

    Best,

    Kevin

  • Kevin,

    Thank you for the explanation!

  • Kevin,

    I have checked the compiler team, that we can check C28x compiler manual for the sub-chapter titled Generating Function Subsections (--gen_func_subsections Compiler Option).  That explains how this option may lead to functions being removed, thus reducing code size.

    请使用手机"扫一扫"x