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.

CCS: load gel file failed

Other Parts Discussed in Thread: CCSTUDIO

Tool/software: Code Composer Studio

I built  a rtos demo in lunix machine whichs runs on my J721EVM ,then i copy the generated binary files into my windows machine.  when i load gel file follows the steps " CCS setup for J721E" of index in Processor SDK RTOS Automotive06_02_00 in  after l installed ccs9,it complaints "DMSC_Cortex_M3_0: GEL: Error loading file 'E:\workshop\psdk_rtos_auto_j7_06_02_00_21\pdk\packages\ti\drv\sciclient\tools\ccsLoadDmsc\j721e\launch.js': line 51: expecting LeftParen, found '='".The screen shot is attched below.Please help me

  • Hello,

    user5060116 said:
    when i load gel file follows the steps " CCS setup for J721E" of index in Processor SDK RTOS Automotive06_02_00 in  after l installed ccs9,it complaints "DMSC_Cortex_M3_0: GEL: Error loading file 'E:\workshop\psdk_rtos_auto_j7_06_02_00_21\pdk\packages\ti\drv\sciclient\tools\ccsLoadDmsc\j721e\launch.js': line 51: expecting LeftParen, found '='"

    launch.js is NOT a GEL file. It is likely a DSS javascript that I assume you can load with the Scripting Console.

    Thanks

    ki

  • sorry,I got it wrong.In fact Error occurs exactly while l load launch.js in scripting console.

  • can you zip and attach the launch.js file that you are using?

    Thanks

    ki

  • /*
     * Copyright (c) 2018-2019, Texas Instruments Incorporated
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     * *  Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     *
     * *  Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the
     *    documentation and/or other materials provided with the distribution.
     *
     * *  Neither the name of Texas Instruments Incorporated nor the names of
     *    its contributors may be used to endorse or promote products derived
     *    from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     */
    //
    //File Name: launch_j721e.js
    //Description:
    //   Launch the DMSC firmware and board configuration from R5F.
    //
    //Usage:
    //
    //From CCS Scripting console
    //  1. loadJSFile "C:\\ti\\launch_j721e.js"
    //
    //Note:
    //  1. Search for "edit this" to look at changes that need to be edited
    //     for your usage.
    //

    //<!!!!!! EDIT THIS !!!!!>
    // Set this to 1 to allow loading the GEL files directly from the ccxml file.
       disableGelLoad  =  0 ;
    // Set to 1 to use the firmware with Firewalls.
    if (disableGelLoad == 0)
    {
        //Path to GEL files
        gelFilePath = "k3-avv-repo/framework/gels/K3J7";
    }
    //PDK path. Edit this
    pdkPath = "E:\workshop\psdk_rtos_auto_j7_06_02_00_21\pdk";
    //path to board config elf
    ccs_init_elf_file = pdkPath+ " /packages/ti/drv/sciclient/tools/ccsLoadDmsc/j721e/sciclient_ccs_init_mcu1_0_release.xer5f";
    //path to sysfw bin
    sysfw_bin = pdkPath+ " /packages/ti/drv/sciclient/soc/sysfw/binaries/ti-sci-firmware-j721e-gp.bin"
    //<!!!!!! EDIT THIS !!!!!>
    // Import the DSS packages into our namespace to save on typing
    importPackage(Packages.com.ti.debug.engine.scripting)
    importPackage(Packages.com.ti.ccstudio.scripting.environment)
    importPackage(Packages.java.lang)
    importPackage(java.io);
    importPackage(java.lang);
    function updateScriptVars()
    {
        //Open a debug session
        dsMCU1_0 = debugServer.openSession( ".*MCU_Cortex_R5_0" );
        dsDMSC_0 = debugServer.openSession( ".*DMSC_Cortex_M3_0" );
    }
    function printVars()
    {
        updateScriptVars();
    }
    function connectTargets()
    {
        /* Set timeout of 20 seconds */
        script.setScriptTimeout(200000);
        updateScriptVars();
        sysResetVar=dsDMSC_0.target.getResetType(1);
        sysResetVar.issueReset();
        print("Connecting to DMSC_Cortex_M3_0!");
        // Connect targets
        dsDMSC_0.target.connect();
        print("Fill R5F ATCM memory...");
        dsDMSC_0.memory.fill(0x61000000, 0, 0x2000, 0);
        print("Writing While(1) for R5F")
        dsDMSC_0.memory.writeWord(0, 0x61000000, 0xE59FF004); /* ldr        pc, [pc, #4] */
        dsDMSC_0.memory.writeWord(0, 0x61000004, 0x38);       /* Address 0x38 */
        dsDMSC_0.memory.writeWord(0, 0x61000038, 0xEAFFFFFE) /* b          #0x38 */
        print("Loading DMSC Firmware ... " + sysfw_bin);
        // Load the DMSC firmware
        dsDMSC_0.memory.loadRaw(0, 0x40000, sysfw_bin, 32, false);
        print("DMSC Firmware Load Done...");
        // Set Stack pointer and Program Counter
        stackPointer = dsDMSC_0.memory.readWord(0, 0x40000);
        progCounter = dsDMSC_0.memory.readWord(0, 0x40004);
        dsDMSC_0.memory.writeRegister("SP", stackPointer);
        dsDMSC_0.memory.writeRegister("PC", progCounter);
        print( "DMSC Firmware run starting now...");
        // Run the DMSC firmware
        dsDMSC_0.target.runAsynch();
        print("Connecting to MCU Cortex_R5_0!");
        // Connect the MCU R5F
        dsMCU1_0.target.connect();
        print("Running the board configuration initialization from R5!");
        // Load the board configuration init file.
        dsMCU1_0.memory.loadProgram(ccs_init_elf_file);
        // Halt the R5F and re-run.
        dsMCU1_0.target.halt();
        // Run Synchronously for the executable to finish
        dsMCU1_0.target.run();
        /* Run the DDR Configuration */
        print("Running the DDR configuration... Wait till it completes!");
        dsDMSC_0.target.halt();
        dsDMSC_0.expression.evaluate("J7ES_LPDDR4_Config_Late()");
        dsDMSC_0.target.runAsynch();
    }
    function disconnectTargets()
    {
        updateScriptVars();
        // Reset the R5F to be in clean state.
        dsMCU1_0.target.reset();
        // Disconnect targets
        dsDMSC_0.target.disconnect();
    }
    function doEverything()
    {
        printVars();
        connectTargets();
        disconnectTargets();
        print("Okay you are good to go.. Happy Debugging!!");
    }
    var ds;
    var debugServer;
    var script;
    // Check to see if running from within CCSv4 Scripting Console
    var withinCCS = (ds !== undefined);
    // Create scripting environment and get debug server if running standalone
    if (!withinCCS)
    {
        // Import the DSS packages into our namespace to save on typing
        importPackage(Packages.com.ti.debug.engine.scripting);
        importPackage(Packages.com.ti.ccstudio.scripting.environment);
        importPackage(Packages.java.lang);
        // Create our scripting environment object - which is the main entry point into any script and
        // the factory for creating other Scriptable ervers and Sessions
        script = ScriptingEnvironment.instance();
        // Get the Debug Server and start a Debug Session
        debugServer = script.getServer("DebugServer.1");
    }
    else // otherwise leverage existing scripting environment and debug server
    {
        debugServer = ds;
        script = env;
    }
    doEverything();

  • Thanks. 

    I don't see any issue with the statement on line 51. The file loads fine for me. Are you still getting that file loading issue?

    As for your verification error with the data fill attempt, please see the below article that explains verification errors.

    https://software-dl.ti.com/ccs/esd/documents/troubleshooting-data_verification_errors.html

    Basically, the key thing to check is if the debugger memory map is configured correctly and if the physical memory on the target has valid/configured.

    Thanks

    ki