• Not Answered

Compiler/TMS320F28377D: No matching section warning for FlashAPI library file... in bootloader application

Part Number: TMS320F28377D

Tool/software: TI C/C++ Compiler

Dear Friends,

I am working on flash programming of 377D controller from communication. The command file is modified accordingly, which needs Flash APIs Library files (.obj files) to be copied to RAM. But while building below warning is shown.

"no matching section".

I have checked the file search path in linker properties, which is also OK.

I am stuck at this problem, as the memory is unallocated for those .obj files from the library. Please help.

Thanks in advance,

Raghuchandar.

15 Replies

  • In reply to George Mock:

    George,

    That is useful info however I have code in the file that calls what I presumed are the flash api for the f28377S that were used in example app.

    When I comment that code in, in addition to the no matching section it will not link the app so I cannto get a map file and I get the following unresolved externals

    Description Resource Path Location Type
    #10010 errors encountered during linking; "RFC.out" not built nGen Controller    C/C++ Problem
    <a href="file:/c:/ti/ccsv6/tools/compiler/dmed/HTML/10234.html">#10234-D</a>  unresolved symbols remain nGen Controller    C/C++ Problem
    unresolved symbol Fapi_initializeAPI(volatile, first referenced in FMC_REGISTERS nGen Controller    C/C++ Problem
    unresolved symbol Fapi_setActiveFlashBank(Fapi_FlashBankType), first referenced in ./UnloadApp.obj nGen Controller    C/C++ Problem

    These functions are listed in the flash api include file F021.h and were sued in the example app also

    In addition the functions that call the flash API are also referenced in the application.

    I can set breakpoints in them if I comment out the calls and allow application to link.

    To verify this I instantiated the object in main and ran to code that would call the flash API if it were commented in.

    Maury

  • In reply to maurywalters:

    I'm not certain about how to interpret the error diagnostic.  It is a confusing combination of compiler output and formatting from the Problems view in CCS.  Next time, please copy-n-paste the compiler output from the Console view.  

    That said, I think this means your code calls the functions Fapi_initializeAPI and Fapi_setActiveFlashBank, but no implementation of those functions can be found.  Usually, this means the library which contains these functions is not seen by the linker.  That doesn't make much sense.  But that is the only way I see to interpret it.

    Thanks and regards,

    -George


    TI C/C++ Compiler Forum Moderator
    Please click Verify Answer on the best reply to your question
    The CCS Youtube Channel
     has short how-to videos
    The 
    Compiler Wiki answers most common questions
    Track an issue with SDOWP. Enter your bug id in the Search box.

  • In reply to George Mock:

    George,
    I agree it is like the linker is just not linking this library into the application and I do not understand what would cause this behavior.
    It is not like it says it cannot find the library or not enough space or something else.
    I was attributing it to the fact that the warning no matching section had something to do with this.
    Would that warning cause linker to not link library?
    Note I was trying to put this in the ramfuncs section and I moved it to (Flash_API) to try and get some more info.
    At this point I am not yet copying the Flash_API from flash to RAM in the code - would that be an issue?

    Here are the messages from console:
    <Linking>
    "../TMS320F28377S_NO_APPL.cmd", line 121: warning #10068-D: no matching section

    undefined first referenced
    symbol in file
    --------- ----------------
    Fapi_initializeAPI(volatile FMC_REGISTERS *, unsigned long) ./UnloadApp.obj
    Fapi_setActiveFlashBank(Fapi_FlashBankType) ./UnloadApp.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "RFC.out" not built

    Maury
  • In reply to maurywalters:

    At this point, the only way I see forward is for you to submit the full CCS project.  That is the only way this problem can be diagnosed.  Please see this post for details on how to submit your project.

    Thanks and regards,

    -George


    TI C/C++ Compiler Forum Moderator
    Please click Verify Answer on the best reply to your question
    The CCS Youtube Channel
     has short how-to videos
    The 
    Compiler Wiki answers most common questions
    Track an issue with SDOWP. Enter your bug id in the Search box.

  • In reply to George Mock:

    George,
    Thanks for your help it steered me in direction of the solution understanding what the warnings mean.
    As it turns out the header for the flash api libraries f021.h does not conatin the C++ construct
    #ifdef __cplusplus
    extern "C" {
    #endif
    So all the functions we invisible and so the library was not called and hence did not link.
    When I added calls to functions they went unresolved due to the C++ name mangling
    Maury
    I'll close this issue