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.

Unable to link the FLASH API Library without warning! Device => 28035

Hello,

I'm getting the following message upon building my SYS/BIOS project.

<Linking>
warning #16002-D: build attribute vendor section TI missing in "../2803x_FlashAPI_BootROMSymbols.lib<__Release_TMS320x2803x_boot_rom_out__Flash2803x_Program_tmp.obj>": compatibility cannot be determined

When the code is run, the processor runs off into LALA land... That is to say it ends up at an address that doesn't have proper code in it. The following line is never completed.

Status = Flash_Program(Flash_ptr, flashBuffer, Length, &FlashStatus);

If I comment out this line the codes runs fine and the linking error (warning) is gone. The routine that contains this function is in RAM. Thanks for your help.

Nick

  • Nick,

    The warning just means that the flash API library was built with an older compiler version.  There was some additional info that the new compilers add to the .obj files now that the tools use.  It has nothing to do with the generated code.  You don't need this info ion the .obj file.  At least, I doubt very much that it is why your code is crashing.

    Did you copy the Flash_Program() function to RAM prior to running it?  It should be linked to load to flash but run from RAM.  This is discussed in the flash API documentation.  Just a thought.

    - David

  • Hello,

    The answer was good but I have an additional question... How can I suppress this warning? It is added to the warning window on every build.

    PS. The real reason for the crash was that I hadn't defined the flash callback function.

    Nick

  • You can try suppressing it in the project options (Linker -> Advanced Options -> Diagnostics, --diag_suppress option).  Use your diagnostic ID 16002.

    - David