• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » BIOS » BIOS forum » Unresolved symbols for SYSBIOS 6.33.5.46
Share
BIOS
  • Forum
  • Announcements
Options
  • Subscribe via RSS

Unresolved symbols for SYSBIOS 6.33.5.46

Unresolved symbols for SYSBIOS 6.33.5.46

This question is answered
Mike Geppert
Posted by Mike Geppert
on Aug 08 2012 10:29 AM
Expert1435 points

We have been building on the ARM side of the expOMAPL138 very successfully.

Now we want to get the DSP side up and running so we built a new kernel with similuare settings as our ARM for the DSP.

When we get to the point of doing the final link we get several unresolved symbols that should be resolved.with the DSP SYSBIOS.  The application is just the default for a CCS Project that has seperat SYSBIOS project.  CCS version is 5.2.1.00018

0245.app.cfg

 

Here are the errors:

<Linking>

undefined first referenced

>> Compilation failure

symbol in file

--------- ----------------

_ti_sysbios_BIOS_exit__E ./src/main.obj

_ti_sysbios_BIOS_start__E ./src/main.obj

_ti_sysbios_knl_Task_Object__create__S ./src/main.obj

_ti_sysbios_knl_Task_sleep__E ./src/main.obj

_xdc_runtime_Error_init__E ./src/main.obj

_xdc_runtime_System_printf__E ./src/main.obj

error #10234-D: unresolved symbols remain

error #10010: errors encountered during linking; "DSP_Main.out" not built

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Alan DeMars
    Posted by Alan DeMars
    on Aug 08 2012 11:31 AM
    Genius14085 points

    I was able to reproduce precisely the symptoms you show but it was due to there being an error in the configuration part of the project.

    Once I cleared that up, the link proceeded successfully.

    In your CCS config project view, do you see any indications of errors (ie red 'x's)?

    If so, open the config file using the text editor and it will show you which config statements are causing problems.

    Alan

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mike Geppert
    Posted by Mike Geppert
    on Aug 17 2012 11:34 AM
    Expert1435 points

    No red 'x's.

    Now what?

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mike Geppert
    Posted by Mike Geppert
    on Aug 17 2012 12:13 PM
    Expert1435 points

    So I discovered the quick Fix function.  It tells me to do things like:

    Add this to your config file: var ti_sysbios_BIOS = xdc.useModule('ti.sysbios.BIOS');

    Well I have var BIOS = xdc.useModule('ti.sysbios.BIOS');

    So I commented out the one and added the other, changed all the names to match, but it still fails.

    Gives the same thing about Tasks and Error but they are defined also.

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • ToddMullanix
    Posted by ToddMullanix
    on Aug 17 2012 13:12 PM
    Genius15570 points

    Hi Mike,

    Just to confirm...when you rebuild the .cfg file, you get no errors or warnings. Is this correct?

    Can you include the build output from both the configuration build and from the application build?

    Todd

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mike Geppert
    Posted by Mike Geppert
    on Aug 17 2012 13:25 PM
    Expert1435 points

    Correct no errors with build of .cfg file.

    Here is the build of the cfg.

    **** Build of configuration Default for project SYSBIOS_DSP_configuration ****

    C:\TI\ccsv5\utils\bin\gmake -k all

    'Building target: configPkg/linker.cmd'

    'Invoking: XDCtools'

    "C:/TI/xdctools_3_23_03_53/xs" --xdcpath="C:/TI/bios_6_33_05_46/packages;C:/TI/ipc_1_24_03_32/packages;C:/TI/uia_1_01_00_04/packages;C:/TI/xdais_7_21_01_07/packages;C:/TI/xdais_7_21_01_07/examples;C:/CCS/platform;C:/TI/ccsv5/ccs_base;C:/TI/dsplib_c674x_3_1_0_0/packages;C:/TI/edma3_lld_02_11_05_02/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C674 -p bh.platform.dsp.expOMAPL138 -r debug -c "C:/TI/ccsv5/tools/compiler/c6000_7.3.7" --compileOptions "-g --optimize_with_debug" ../app.cfg

    making package.mak (because of package.bld) ...

    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

    configuring app.xe674 from package/cfg/app_pe674.cfg ...

    generating custom ti.sdo.ipc library makefile ...

    generating custom ti.sysbios library makefile ...

    Starting build of library sources ...

    making C:/CCS/VSLED_Source_Code/SYSBIOS_DSP_configuration/src/sysbios/sysbios.lib ...

    making C:/CCS/VSLED_Source_Code/SYSBIOS_DSP_configuration/src/ipc/ipc.lib ...

    Build of libraries done.

    cle674 package/cfg/app_pe674.c ...

    'Finished building target: configPkg/linker.cmd'

    ' '

    **** Build Finished ****

     

    Here is the build of the Executable DSP Application:

    **** Build of configuration Debug for project DSP_Main ****

    C:\TI\ccsv5\utils\bin\gmake -k all

    'Building file: ../DSP_Main.cfg'

    'Invoking: XDCtools'

    "C:/TI/xdctools_3_23_03_53/xs" --xdcpath="C:/TI/ipc_1_24_03_32/packages;C:/TI/bios_6_33_05_46/packages;C:/TI/uia_1_01_00_04/packages;C:/TI/xdais_7_21_01_07/packages;C:/TI/xdais_7_21_01_07/examples;C:/TI/ccsv5/ccs_base;C:/CCS/platform;C:/TI/dsplib_c674x_3_1_0_0/packages;C:/TI/edma3_lld_02_11_05_02/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C674 -p bh.platform.dsp.expOMAPL138 -r debug -c "C:/TI/ccsv5/tools/compiler/c6000_7.3.7" "../DSP_Main.cfg"

    making package.mak (because of package.bld) ...

    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...

    configuring DSP_Main.xe674 from package/cfg/DSP_Main_pe674.cfg ...

    cle674 package/cfg/DSP_Main_pe674.c ...

    'Finished building: ../DSP_Main.cfg'

    ' '

    'Building file: ../src/main.c'

    'Invoking: C6000 Compiler'

    "C:/TI/ccsv5/tools/compiler/c6000_7.3.7/bin/cl6x" -mv6740 -g --define=xdc__strict --define=VSLED_DEBUG --include_path="C:/TI/ccsv5/tools/compiler/c6000_7.3.7/include" --include_path="C:/CCS/VSLED_Source_Code/Vibration_Monitoring_DSP/h" --display_error_number --diag_warning=225 --abi=eabi --preproc_with_compile --preproc_dependency="src/main.pp" --obj_directory="src" --cmd_file="./configPkg/compiler.opt" "../src/main.c"

    'Finished building: ../src/main.c'

    ' '

    'Building target: DSP_Main.out'

    'Invoking: C6000 Linker'

    "C:/TI/ccsv5/tools/compiler/c6000_7.3.7/bin/cl6x" -mv6740 -g --define=xdc__strict --define=VSLED_DEBUG --display_error_number --diag_warning=225 --abi=eabi -z -m"DSP_Main.map" --warn_sections -i"C:/TI/ccsv5/tools/compiler/c6000_7.3.7/lib" -i"C:/TI/dsplib_c674x_3_1_0_0/lib" -i"C:/TI/ccsv5/tools/compiler/c6000_7.3.7/include" --reread_libs --ram_model --preferred_order=_c_int00 -o "DSP_Main.out" -l"./configPkg/linker.cmd" "./src/main.obj" -l"libc.a" -l"dsplib.ae674" -l"C:\CCS\VSLED_Source_Code\Vibration_Monitoring_DSP\Debug\Vibration_Monitoring_DSP.lib"

    <Linking>

    undefined first referenced

    symbol in file

    --------- ----------------

    >> Compilation failure

    ti_sysbios_BIOS_exit__E ./src/main.obj

    ti_sysbios_BIOS_start__E ./src/main.obj

    ti_sysbios_knl_Task_Object__create__S ./src/main.obj

    ti_sysbios_knl_Task_sleep__E ./src/main.obj

    xdc_runtime_Error_init__E ./src/main.obj

    error #10234-D: unresolved symbols remain

    error #10010: errors encountered during linking; "DSP_Main.out" not built

    gmake: *** [DSP_Main.out] Error 1

    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

    Here is what is in the problem window from the DSP Main:

    Description Resource Path Location Type
    #10010 errors encountered during linking; "DSP_Main.out" not built DSP_Main    C/C++ Problem
    <a href="file:/C:/TI/ccsv5/tools/compiler/dmed/HTML/10234.html">#10234-D</a>  unresolved symbols remain DSP_Main    C/C++ Problem
    unresolved symbol >>, first referenced in Compilation DSP_Main    C/C++ Problem

    Here is what is in the problem window from the CFG file:

    Description Resource Path Location Type
    Unresolved symbol ti_sysbios_BIOS_exit__E in file ./src/main.obj .xdchelp /SYSBIOS_DSP_configuration 0 C/C++ Problem
    Unresolved symbol ti_sysbios_BIOS_start__E in file ./src/main.obj .xdchelp /SYSBIOS_DSP_configuration 0 C/C++ Problem
    Unresolved symbol ti_sysbios_knl_Task_Object__create__S in file ./src/main.obj .xdchelp /SYSBIOS_DSP_configuration 0 C/C++ Problem
    Unresolved symbol ti_sysbios_knl_Task_sleep__E in file ./src/main.obj .xdchelp /SYSBIOS_DSP_configuration 0 C/C++ Problem
    Unresolved symbol xdc_runtime_Error_init__E in file ./src/main.obj .xdchelp /SYSBIOS_DSP_configuration 0 C/C++ Problem

    And I attached the cfg file again just to make sure - been playing with it quiet a bit to get over this:

    3817.app.cfg

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • ToddMullanix
    Posted by ToddMullanix
    on Aug 17 2012 16:17 PM
    Genius15570 points

    Thanks. I see two issues

    1. Why do you have two .cfg files: app.cfg in the configuration project and DSP_Main.cfg in the application project.Unless you have a reason to have the separate .cfg project, why not just do all the SYS/BIOS configuration in the application project.

    2. your main.c is in a directory called "src". When you do a custom SYS/BIOS build, it creates a "src" directory and puts the object files there. You already having this directory might be causing problems. Can to rename your "src" directory to "appSrc" (or something). Yea, we know in hindsight that we should have made the name "sysbiossrc" or something:(

    Todd

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sasha Slijepcevic
    Posted by Sasha Slijepcevic
    on Aug 17 2012 16:32 PM
    Genius15090 points

    ToddMullanix

     Yea, we know in hindsight that we should have made the name "sysbiossrc" or something:(

    The name of the custom build directory is configurable. This statement would leave 'src' available for the app source code:

    xdc.module("xdc.cfg.SourceDir").outputDir = "./biossrc";

    If my reply answers your question please mark the thread as answered.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mike Geppert
    Posted by Mike Geppert
    on Aug 17 2012 17:37 PM
    Expert1435 points

    OOOO I learn something new!  Its a good day...

    How about ../../sysbios_src?  It looks like "." is Default/configPkg.

    ---------------------------------------------------------------------------------------

    We have to have the DSP_Main.cfg (its an empty file) becasue we get the following when we dont have it:

    Buildfile generation error occurred..

    This project does not contain a buildable RTSC Configuration (.cfg) file. In order for it to build, this project must contain one RTSC Configuration file that is not excluded from build.

    Build stopped..

    Description Resource Path Location Type
    This project does not contain a buildable RTSC Configuration (.cfg) file. In order for it to build, this project must contain one RTSC Configuration file that is not excluded from build. DSP_Main  DSP_Main TI Problem Marker

    6303.app.cfg

     

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • ToddMullanix
    Posted by ToddMullanix
    on Aug 20 2012 13:22 PM
    Genius15570 points

    Mike,

    Which way do you want to have your application setup

    A. One project: application and SYS/BIOS together

    B. Two projects: 1 for your application and 1 for the SYS/BIOS configuration

    I prefer "A" because it's easier to manage, but "B" might be better if you have common shared SYS/BIOS configuration

    Todd

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mike Geppert
    Posted by Mike Geppert
    on Aug 20 2012 13:35 PM
    Expert1435 points

    B!

    Technically we have about 10 Projects.  We have 8 engineers working on this program so it was just easier to have everybody have their own project, share a SYSBIOS, and then have one project be the final executable.

    Thanks,

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mike Geppert
    Posted by Mike Geppert
    on Aug 21 2012 10:42 AM
    Expert1435 points

    I tried option A and that seems to work.

    So what is the trick to get B to work?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • ToddMullanix
    Posted by ToddMullanix
    on Aug 22 2012 11:10 AM
    Verified Answer
    Verified by David Friedland
    Genius15570 points

    Once you create a project as a RTSC-project (e.g. with a .cfg file), you cannot reverse it. You need to make a new (non-RTSC) project and add the compiler.opt (and other things) as specified in the "Compiling and Linking" section of the SPRUEX4 ("XDC Consumer User’s Guide").

    There are SYS/BIOS examples (Task) which have both the single project and the config & app projects.

    Todd

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use