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.

CCSv5: File does not match target endianness

Other Parts Discussed in Thread: OMAP3530, CCSTUDIO

Hello,

I'm following the instructions here:

    http://processors.wiki.ti.com/index.php/Linux_Debug_in_CCSv5

for stop-mode debugging of the linux kernel on an OMAP3530/Beagle.  These instructions are for setting things up so CCS can load the symbols, but not actually build the project. 

Each time I connect to the target, I get the following warning:

IcePick_C_0: GEL: File: /opt/home/khilman/work.local/kernel/omap/dev/build/vmlinux Does not match the target endianness, not loaded. Check build options, or use the setup program.

Since this project is not setup to build, I'm not sure where the target endianness is configured, and can't seem to find where to set it.  The suggestions in the above error message are not helpful at all as to where to start looking.

I did discover an option for "Continue debug if target connection or program load fails' in the Target tab of the Debug Configuration.  This at least allows me to continue debugging and do assembly level debugging.  But for source-level debugging, I need the symbols loaded properly.

Any suggestions on where to set this target endianness?

Thanks,

Kevin

  • Hi Kevin, 

    Could you make sure that in debug configuration where you specify the symbol file to be loaded, the processor which you load symbols on is set to Cortex A8? Two rows above where you specify where your vmlinux file is located there is a combo box titled "Device", it should be showing Cortex A8, my guess based on error message is that it might be set to Icepick_c. 

    If this does not work, then you should be able to start a debug session and load symbols manually. i..e Open target configuration view (View->target configuration), right click on your config file and select "Launch selected configuration", then connect to COrtex A8 and then select Run-->Load->Load Symbols from menu. You may then need to configure source lookup to use the project created in previous step(after symbols are loaded; right click on COrtexA8 cpu and select "Edit YourTargetConfigName.ccxml", switch to source tab and click on Add , then "Project" and select your project. You may need to make sure that "Device" is set Cortex A8. 

     

    Martin

     

  • Hi Martin,

    Indeed, it was set to Icepick_c.  Setting it to the A8 makes it get farther loading the symbols.  But then, eclipse crashes with the error below.

    Removing the vmlinux from my debug configuration makes it stop crashing. 

    Then, I tried to manually load the symbols as you suggested, and that seems to succeed.

    Thanks,

    Kevin

     

    $ /opt/ti/ccsv5/eclipse/eclipse
    logConfig DOES NOT exist
    -------Setting DVTLogLevel to: INFO
    -------Setting DVTLogLevel to: INFO

    flxInitLoad: client has not been protected.
    java.lang.NullPointerException
        at java.io.File.<init>(Unknown Source)
        at com.ti.ccstudio.debug.ui.launch.CCSLauncher.getTargetConfigurationFile(CCSLauncher.java:213)
        at com.ti.ccstudio.scripting.dss.DebugServerEventListener.onSessionOpened(DebugServerEventListener.java:87)
        at com.ti.debug.engine.scripting.DebugServer.fireOnSessionOpened(DebugServer.java:535)
        at com.ti.debug.engine.scripting.DebugServer$SessionFactory.open(DebugServer.java:376)
        at com.ti.debug.engine.scripting.DebugServer.openSession(DebugServer.java:1151)
        at com.ti.ccstudio.scripting.dss.DSFSessionListener.openDSSSession(DSFSessionListener.java:88)
        at com.ti.ccstudio.scripting.dss.DSFSessionListener.handleEvent(DSFSessionListener.java:117)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.cdt.dsf.service.DsfSession.doDispatchEvent(DsfSession.java:512)
        at org.eclipse.cdt.dsf.service.DsfSession.access$2(DsfSession.java:462)
        at org.eclipse.cdt.dsf.service.DsfSession$3.run(DsfSession.java:389)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    #
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #
    #  SIGSEGV (0xb) at pc=0x84a5c591, pid=32021, tid=28523376
    #
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_14-b03 mixed mode)
    # Problematic frame:
    # C  [libDebugServer.so+0x436591]  _ZNK3sym19SymbolPackageNormal25convert_ofs_to_vot_lvalueEi9smart_ptrIN3VOT14IDspStackFrameE25smart_ptr_enabled_refereeERNS2_13LookupDetailsE+0x55d
    #
    # An error report file with more information is saved as hs_err_pid32021.log
    #
    # If you would like to submit a bug report, please visit:
    #   http://java.sun.com/webapps/bugreport/crash.jsp
    #
    Aborted

  • Hi Kevin, 

    Please use the manual workaround for now. We have the crashing issue resolved internally. We should be posting an update within next 2-3 weeks that includes this fix. 

    Martin

     

  • Kevin Hilman said:

    Then, I tried to manually load the symbols as you suggested, and that seems to succeed.

    Just to clarify, the sybols seem to have loaded successfully, but I still do not have source visibility.  Stopping brings me to a disassembly window, but trying to 'Show Source' from the disasembly, doesn't bring up any source code.

    Kevin

     

     

  • Did you try do these steps as well?

    ...

    You may then need to configure source lookup to use the project created in previous step(after symbols are loaded; right click on COrtexA8 cpu and

    select "Edit YourTargetConfigName.ccxml", switch to source tab and click on Add , then "Project" and select your project. You may need to make

    sure that "Device" is set Cortex A8. 

  • Hi Martin,

    You're right, I hadn't added followed those steps correctly.  With that, I now see the source when breaking.

    Thanks,

    Kevin

     

  • Hi

     i am trying to integrate C6713 DSK using USB port with MATLAB 2010.b using CCS3.3. but after build is completed it shows error that '' does not match target endianness chexk build options or use the setup programmes.'' I have selected little endian.

    Please help me in this regard.

    Dip Sarma

  • Is your board configured for Little Endian?  There should be a dip switch or a jumper to configure it.  This message means that the target is set for one endianness, but the program being loaded is the opposite.

  • How TMS320c6713 Is configured  for endianness?

  • Please take a look at the DSK6713 Technical Reference guide at Spectrum Digital's web page. Section 1.5 talks about the switch settings of SW3, of which switch 1 controls the endianness of the DSP.