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: Migrating from 379D library to 388D library causes “warning #10068-D: no matching section”

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

Greetings,

I am migrating code from the 379D to the 388D and using the Flash API library.  In the cmd file, I changed the name of the library to the new one, and rebuilt.  The linker is seeing the library, but is generating the subject warning and subsequent link error.  From the library, I am trying to link in Fapi_setActiveFlashBank.  The relevant portion of the linker command file follows.  Is there something else I need to do to match the code to the new library?

MEMORY

{

   PAGE 0:

   <FlashSpace : origin = 0x080026, length = 0x001D92

   PAGE 1:

   <RamSpace>  : origin = 0x009800, length = 0x000800

}

 

SECTIONS

{

   FAPI_RamExecuted_LibraryFunctions

   {

      --library=F2838x_C28x_FlashAPI.lib<FlashStateMachine.obj> (.text:Fapi_setActiveFlashBank)

   } LOAD = <FlashSpace>,                                                 PAGE = 0, PALIGN(8)

     RUN  = <RamSpace>,

     LOAD_START(FAPI_RamExecutedCode_StoredAddress),

     LOAD_SIZE(FAPI_RamExecutedCode_StoredSize),

     RUN_START(FAPI_RamExecutedCode_RunAddress)

}

Thank you,

Ed

  • Ed, 

    Pls share the console log .  Will forward your query to the Flash expert.

    Best Regards

    Siddharth

  • Hi Siddharth,

    I have attached the file.  I have removed IP from it.

    Warning #10068-D Console Log.txt
    **** Build of configuration Debug for project <ProjectName> ****
    
    "C:\\ti\\ccs1040\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 
     
    Building file: "../<FileName>.cpp"
    Invoking: C2000 Compiler
    "C:/ti/ccs1040/ccs/tools/compiler/ti-cgt-c2000_20.2.5.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc --include_path=<blah> -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --asm_listing --preproc_with_compile --preproc_dependency="<FileName>.d_raw"  "../<FileName>.cpp"
    Finished building: "../<FileName>.cpp"
     
    Building target: "<ProjectName>.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1040/ccs/tools/compiler/ti-cgt-c2000_20.2.5.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --asm_listing -z -m"<ProjectName>.map" --stack_size=0x200 --warn_sections -i"C:/ti/ccs1040/ccs/tools/compiler/ti-cgt-c2000_20.2.5.LTS/lib" -i"C:/ti/ccs1040/ccs/tools/compiler/ti-cgt-c2000_20.2.5.LTS/include" -i"<MyLibaryPath>" -i"<MyCmdFilePath>" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="<ProjectName>_linkInfo.xml" --rom_model -o "<ProjectName>.out" "./<ObjectFile1>.obj" "./<ObjectFilen>.obj" "../<ProjectName>.cmd" "<PathToTiLibrary>.lib"  -llibc.a 
    <Linking>
    "<PathToCmdFile>/<CmdFileName>.cmd", line 36: warning #10068-D: no matching section
    Finished building target: "<ProjectName>.out"
     
    **** Build Finished ****
    

    Thank you,

    Ed

  • Hi Ed,

    Along with the library, did you replace all the required headers as well?

    Thanks and reards,
    Vamsi

  • Hi Vamsi,

    Yes.  But keep in mind that for the sake of isolating this issue, the calls to the library are currently commented out.

    Thank you,

    Ed

  • Hi Ed,

    Did you try to import/compile the F2838x flash API usage example from the C2000Ware?  Did that work fine for you?

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

    No.  I simply replaced all of the old files with the new files.

    Thank you,

    Ed

  • Hi Ed,

    Can you try the example first and see how it goes?

    I may need a dummy project to reproduce on my side.  Is that line 36 warning referring to the  " --library=F2838x_C28x_FlashAPI.lib<FlashStateMachine.obj> (.text:Fapi_setActiveFlashBank) "?

    Thanks and regards,
    Vamsi

  • Hi Vamsi,

    Yes.  Line 36 is the line you mentioned.

    Where can I find the example project?

    Thank you,

    Ed

  • Ed,

    Generally the flash API examples are available in C2000Ware:

    Examples:

    C2000Ware_5_01_00_00\driverlib\f2838x\examples\c28x\flash\

    C2000Ware_5_01_00_00\driverlib\f28p65x\examples\c28x_dual\flash.

    Let me know how it goes.

    Edited for others that may refer to this post.

    Thanks and regards,
    Vamsi

  • Hi Vamsi,

    We are currently using C2000Ware_4_00_00_00. Maybe that is the issue?  At any rate, I have downloaded 5_01_00_00 and am trying to use it.  I tried to load the flashapi_ex1_programming project but received a dialog box stating that Compiler version ’22.6.0.LTS’ is not currently installed.  Where can I find that?

    Also, I don’t think it makes any difference, but we are using CCS 10.4.0.00006.

    Thank you,

    Ed

  • Hi Ed,

    I don't think using the previous C2000ware can cause an issue.  

    To get that compiler version, you can either upgrade the CCS to the latest CCS12.x version Or install the codegen tools from here:  https://www.ti.com/tool/C2000-CGT#downloads 

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

    I am now running  CCS Version: 12.5.0.00007 with compiler version TI v22.6.1.LTS, and using the Flash API files from C2000Ware_5_01_00_00, and getting the same result.  What else can I try?

    Thank you,

    Ed

  • Hi Ed,

    You mean to say that the C2000Ware example as-is also giving you that warning?

    Thanks and regards,

    Vamsi 

  • My apologies Vamsi,

    I guess I was hoping that getting the latest would resolve our issue, and that result is what I reported.

     

    For the example project, using the latest tools, I tried loading the project at the path which you posted, and got the following:  I also tried using the f2838x folder, and received a similar result.

    Ed

  • Hi Ed,

    I asked our team to import the project and see if they also are able to reproduce this issue.

    We will get back to you in a day or two.

    Thanks and regards,
    Vamsi

  • Hi Ed,

    Quick question:  You mentioned you are migrating to F28388D.  Why are you trying to import F28P65x example?  The image that you shared shows F28P65x example and hence is the question from our team.  

    Thanks and regards,
    Vamsi

  • I used the path which you gave me.  I had the same question.  That is why I also tried the 388 path.

    I can't help but feel that I don't know how to properly set up the example projects, and that is why I am getting the results I am getting.  Is there a guide which shows how to do that?

    Thank you,

    Ed

  • Hi Ed,

    Understood.

    Coming to the original warning (warning #10068-D: no matching section) that you asked about:  I tried couple of experiments and found that this warning gets issued when we included a library or a specific function from the library in the linker command file,  but did not actually use that function yet in the application.

    Is that the case with you?  Or do you get that warning even if you use that flash API function in your application?

    Please let me know.

    Regarding the example usage help:  I will ask our team to see if we have any guide.  If needed, I can ask our team to have a quick meeting with you to help you on that.

    Thanks and regards,
    Vamsi

  • Hi Vamsi,

    The call to the function is currently commented out.  If it is uncommented, then the linker produces a link error with Fapi_setActiveFlashBank(Fapi_FlashBankType) as an undefined symbol.  Maybe that is a clue?

    I would be happy to meet with your team to figure out how to build the example projects.

    Thank you,

    Ed

  • Ed,

    Ok, then the warning is because of not using the function as I mentioned.

    What is the exact error that you got regarding the undefined symbol?  Maybe you did not include the required header file - please check the example and include the required headers.

    Regarding the meeting: Sure, will arrange one if there is no such guide.  Will let you know.

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

    The warning exists either way.  With the source code line uncommented I get both the link warning and the link error as shown below.  With the source code line commented out, I only get the warning.  If I then comment out the entry in the linker command file, the warning goes away.

     <Linking>
    "<path to cmd file>/<FileName>.cmd", line 36: warning #10068-D: no matching section
     
     undefined                                   first referenced                             
      symbol                                         in file                                  
     ---------                                   ----------------                             
     Fapi_setActiveFlashBank(Fapi_FlashBankType) ./<folder>/<SourceFileName>.obj
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "<project name>.out" not built

    Thank you,

    Ed

  • Ed,

    Ok, I will ask our team to have a meeting session with you to help clear these issues.

    They will approach you via the friendship request.

    I will keep this thread in pause for now.

    Thanks and regards,
    Vamsi

  • Hi Ed,

    Can we say this thread is resolved from what we discussed in private chat regarding main file extensions for .c and .cpp?

    EDIT:

    Closing the thread, resolved. 

    Regards,

    Charles