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.

C66x and uCLinux MCSDK

Other Parts Discussed in Thread: CCSTUDIO, TMS320C6678

Hello everyone!

We're trying to install the new uCLinux MCSDK (linux-c6x-2.0.0.63) onto the TMDSEVM6678LE (rev 1.0) with on-board Blackhawk XDS560v2 emulator.

Specifically, we're trying to load the IBL into I2C PROM 0x51 and load the Linux kernel into NAND Flash. When we try to boot, code in the BROM appears to become hung waiting on a status register in an I2C register.

The original single-core Linux system (linux-c6x-2.0-alpha1) included on the CD bundled with the board (as well its corresponding IBL) works fine using the same method.  In this case, we could see the booting information and operate the board with UART terminal.

Are we doing something wrong with the new Linux release?  I am pretty sure all the on-board switches are in correct position during the different stages (flashing or booting).

Also worth noting is that the power on self test code(from the original CD) in I2C PROM 0x50 fails for some reason and nothing is printed out when booting.

Any advise is appreciated, and thank you in advance!
-Jason D. Bakos
  • Hi, Jason,

    Is your 6678L a single core or 4-core EVM? If it is a single core, are you using program_evm.js with steps described in User's Guide to burn the kernel to the flash? I am not sure that the same method being used for 2.0-alpha1 means the setup or the way of burning the flash. If you are not using program_evm.js, could you give it a try? Thanks!

    Rex

  • I am with Jason.

    Let me answer your questions.

    Do you mean the single core as single chip? Our board is one chip(C6678) with 8 cores.

    When we burning the roms, we do follow the user guide carefully using the "program_evm.js" script.

    To be honest, we actually don't know any alternative ways to burn the roms without that script.

    And that script works very well. Nothing error or failing are reported; it passed all the verify procedure.


    The "program_evm.js" for 2.0-alpha1 is slightly different with the one in linux-c6x-2.0.0.63.

    However, we thought it should do the similar things. That works very well too. Nothing abnormal is reported.


    We also tried to compile the IBL without using the existing binary and burned it into 0x51 I2C rom.

    It won't work either. It stuck at the same place as the pre-compiled one.

    Any suggestion?

    Thank you!

  • Hi, Yang,

    Thanks for your info. I would also like to verify your emulator.  From the description, it is a onboard xds560 Mezzanine, correct? I double checked 2.0.0.63 and I have no problem downloading and does a NAND boot using pre-build image. Please try the script below and see if it works for you, but replace the directories corresponding to your setup. I have a 6678.bat in 2.0.0.63/program_evm directory. Its content is

    cd M:\mnt\sda1\work\pre-build\linux-c6x-2.0.0.63\program_evm
    set DSS_SCRIPT_DIR="C:\Program Files\Texas Instruments\ccsv5\ccs_base_5.0.3.00028\scripting\bin"
    set PROGRAM_EVM_TARGET_CONFIG_FILE=M:\mnt\sda1\work\pre-build\linux-c6x-2.0.0.63\program_evm\configs\evm6678l\evm6678le-linuxhost.ccxml
    %DSS_SCRIPT_DIR%\dss.bat program_evm.js TMDXEVM6678LE

    My M drive maps to the system where the 2.0.0.63 package was downloaded.  The steps I did was

    (1) open a command window on my Window PC (2) change directory to where the program_evm is (3) execute the 6678.bat in the command window of the PC.  Assuming the dip switches are set according to that in "Hardware setup for c66x EVMs" "Programming the EVM" section. Once completed, set the dip switch according to that in the section of "DIP Switch Settings to Boot from NAND".

    Let me know if you still have problem with the batch script above. If you still have problem with it, we can try to set up a webex session to resolve it if you would.

    Rex

  • Hi Rex,

    Thank you for your reply!

    I have several questions.

    1. I can't use the configuration file:

    linux-c6x-2.0.0.63\program_evm\configs\evm6678l\evm6678le-linuxhost.ccxml

    It will show me some error which I would post later. We had similar problem before when we use a configuration file generated by a different version of CCS.

    But if I use the ccxml generated by our CCS. No error is reported. I believe there is some compatibility issue between CCS versions.

    Anyway, for my understanding, that file is just an emulator configuration and if it works when I use it to debug my code, it should also work to burn flash.

    2. We actually worked with linux version CCS(5.1.0.09000). Does that matter?

    Error in our linux system:

    neutron@neutron:~/Dsp/linux-c6x-2.0.0.63/program_evm$ $DSS_SCRIPT_DIR/dss.sh program_evm.js evm6678le-le “eeprom51,nand”
    board: evm6678l
    endian: Little
    emulation: XDS560 mezzanine
    binaries: /home/neutron/Dsp/linux-c6x-2.0.0.63/program_evm/binaries/evm6678l/
    ccxml: /home/neutron/Dsp/linux-c6x-2.0.0.63/program_evm/configs/evm6678l/evm6678le-linuxhost.ccxml
    SEVERE: Can't generate board data file /home/neutron/.TI/3205019477/0/1/BrdDat/ccBoard0.dat
    An invalid processor ID has been found.

    SEVERE: Could not start server: DebugServer.1: Can't generate board data file /home/neutron/.TI/3205019477/0/1/BrdDat/ccBoard0.dat
    An invalid processor ID has been found.

    org.mozilla.javascript.WrappedException: Wrapped com.ti.ccstudio.scripting.environment.ScriptingException: Could not start server: DebugServer.1: Can't generate board data file /home/neutron/.TI/3205019477/0/1/BrdDat/ccBoard0.dat
    An invalid processor ID has been found.
     (program_evm.js#269)
        at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1705)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:157)
        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:201)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:74)
        at org.mozilla.javascript.gen.c1._c0(program_evm.js:269)
        at org.mozilla.javascript.gen.c1.call(program_evm.js)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:337)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2755)
        at org.mozilla.javascript.gen.c1.call(program_evm.js)
        at org.mozilla.javascript.gen.c1.exec(program_evm.js)
        at org.mozilla.javascript.tools.shell.Main.evaluateScript(Main.java:500)
        at org.mozilla.javascript.tools.shell.Main.processFileSecure(Main.java:422)
        at org.mozilla.javascript.tools.shell.Main.processFile(Main.java:388)
        at org.mozilla.javascript.tools.shell.Main.processSource(Main.java:379)
        at org.mozilla.javascript.tools.shell.Main.processFiles(Main.java:176)
        at org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:97)
        at org.mozilla.javascript.Context.call(Context.java:540)
        at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:447)
        at org.mozilla.javascript.tools.shell.Main.exec(Main.java:159)
        at org.mozilla.javascript.tools.shell.Main.main(Main.java:137)
    Caused by: com.ti.ccstudio.scripting.environment.ScriptingException: Could not start server: DebugServer.1: Can't generate board data file /home/neutron/.TI/3205019477/0/1/BrdDat/ccBoard0.dat
    An invalid processor ID has been found.

        at com.ti.debug.engine.scripting.DebugServer$SessionFactory.<init>(DebugServer.java:155)
        at com.ti.debug.engine.scripting.DebugServer.openSession(DebugServer.java:1314)
        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.mozilla.javascript.MemberBox.invoke(MemberBox.java:142)
        ... 18 more

    3. In order to match your working environment, I reinstalled the CCS (5.0.3.00028) windows version and it also have some problem to accept the evm6678le-linuxhost.ccxml.

    The error is like following:

    X:\Dsp\linux-c6x-2.0.0.63\program_evm>"C:\Program Files\Texas Instruments\ccsv5
    ccs_base_5.0.3.00028\scripting\bin"\dss.bat program_evm.js TMDXEVM6678LE
    board: evm6678l
    endian: Little
    emulation: XDS560 mezzanine
    binaries: X:\Dsp\linux-c6x-2.0.0.63\program_evm/binaries/evm6678l/
    ccxml: X:\Dsp\linux-c6x-2.0.0.63\program_evm\configs\evm6678l\evm6678le-linuxho
    t.ccxml
    SEVERE: Cannot read System Setup data from XML file X:\Dsp\linux-c6x-2.0.0.63\p
    ogram_evm\configs\evm6678l\evm6678le-linuxhost.ccxml
    Error parsing file:
    Fatal Error at (0, 0): An exception occurred! Type:RuntimeException, Message:Th
     primary document entity could not be opened. Id=X:\Dsp\linux-c6x-2.0.0.63\prog
    am_evm\configs\evm6678l\devices\C6678.xml while parsing file: X:\Dsp\linux-c6x-
    .0.0.63\program_evm\configs\evm6678l\devices\C6678.xml
    SEVERE: Can not initialize DebugServer. Cannot read System Setup data from XML
    ile X:\Dsp\linux-c6x-2.0.0.63\program_evm\configs\evm6678l\evm6678le-linuxhost.
    cxml
    Error parsing file:
    Fatal Error at (0, 0): An exception occurred! Type:RuntimeException, Message:Th
     primary document entity could not be opened. Id=X:\Dsp\linux-c6x-2.0.0.63\prog
    am_evm\configs\evm6678l\devices\C6678.xml while parsing file: X:\Dsp\linux-c6x-
    .0.0.63\program_evm\configs\evm6678l\devices\C6678.xml
    SEVERE: Could not start server: DebugServer.1: Can not initialize DebugServer.
    annot read System Setup data from XML file X:\Dsp\linux-c6x-2.0.0.63\program_ev
    \configs\evm6678l\evm6678le-linuxhost.ccxml
    Error parsing file:
    Fatal Error at (0, 0): An exception occurred! Type:RuntimeException, Message:Th
     primary document entity could not be opened. Id=X:\Dsp\linux-c6x-2.0.0.63\prog
    am_evm\configs\evm6678l\devices\C6678.xml while parsing file: X:\Dsp\linux-c6x-
    .0.0.63\program_evm\configs\evm6678l\devices\C6678.xml
    org.mozilla.javascript.WrappedException: Wrapped com.ti.ccstudio.scripting.envi
    onment.ScriptingException: Could not start server: DebugServer.1: Can not initi
    lize DebugServer. Cannot read System Setup data from XML file X:\Dsp\linux-c6x-
    .0.0.63\program_evm\configs\evm6678l\evm6678le-linuxhost.ccxml
    Error parsing file:
    Fatal Error at (0, 0): An exception occurred! Type:RuntimeException, Message:Th
     primary document entity could not be opened. Id=X:\Dsp\linux-c6x-2.0.0.63\prog
    am_evm\configs\evm6678l\devices\C6678.xml while parsing file: X:\Dsp\linux-c6x-
    .0.0.63\program_evm\configs\evm6678l\devices\C6678.xml (program_evm.js#269)
            at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1
    05)
            at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:157)
            at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:2
    1)
            at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:74

            at org.mozilla.javascript.gen.c1._c0(program_evm.js:269)
            at org.mozilla.javascript.gen.c1.call(program_evm.js)
            at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:
    37)
            at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:27
    5)
            at org.mozilla.javascript.gen.c1.call(program_evm.js)
            at org.mozilla.javascript.gen.c1.exec(program_evm.js)
            at org.mozilla.javascript.tools.shell.Main.evaluateScript(Main.java:500

            at org.mozilla.javascript.tools.shell.Main.processFileSecure(Main.java:
    22)
            at org.mozilla.javascript.tools.shell.Main.processFile(Main.java:388)
            at org.mozilla.javascript.tools.shell.Main.processSource(Main.java:379)
            at org.mozilla.javascript.tools.shell.Main.processFiles(Main.java:176)
            at org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:97)
            at org.mozilla.javascript.Context.call(Context.java:540)
            at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:447)
            at org.mozilla.javascript.tools.shell.Main.exec(Main.java:159)
            at org.mozilla.javascript.tools.shell.Main.main(Main.java:137)
    Caused by: com.ti.ccstudio.scripting.environment.ScriptingException: Could not
    tart server: DebugServer.1: Can not initialize DebugServer. Cannot read System
    etup data from XML file X:\Dsp\linux-c6x-2.0.0.63\program_evm\configs\evm6678l\
    vm6678le-linuxhost.ccxml
    Error parsing file:
    Fatal Error at (0, 0): An exception occurred! Type:RuntimeException, Message:Th
     primary document entity could not be opened. Id=X:\Dsp\linux-c6x-2.0.0.63\prog
    am_evm\configs\evm6678l\devices\C6678.xml while parsing file: X:\Dsp\linux-c6x-
    .0.0.63\program_evm\configs\evm6678l\devices\C6678.xml
            at com.ti.debug.engine.scripting.DebugServer$SessionFactory.<init>(Debu
    Server.java:148)
            at com.ti.debug.engine.scripting.DebugServer.openSession(DebugServer.ja
    a:1337)
            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.mozilla.javascript.MemberBox.invoke(MemberBox.java:142)
            ... 18 more

    Thank you!

  • Hi, Yang,

    You can use CCSv5.1 but to work around the issue, you would need to do the following:

    1) create the target config ccxml file using CCSv5.1

    2) In the Advanced Target configuration window, click TMS320C6678_0 -> IcePick_D -> subpath_0 -> C66xx_0 and in the initializatin script box on the right side of the window, enter gel file for c6678 from the CCSv5.1 package. That is to enter "../../emulation/boards/evmc6678l/gel/evmc6678l.gel".

    For some reason, CCSv5.1 does not link the target configuration to the corresponding GEL file by default. By explicitly setting it, I am able to use CCSv5.1 to burn the flash and board comes up fine.

    Please give it a try when you have time and if it works for you, please set the issue status to close. Thanks!

    Rex