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:加载 GEL 文件失败

Guru**** 2042910 points
Other Parts Discussed in Thread: CCSTUDIO
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/890450/ccs-load-gel-file-failed

Thread 中讨论的其他器件:CCStudio

工具/软件:Code Composer Studio

我在 运行在 J721EVM 上的 lunix 机器中构建了 RTOS 演示、然后将生成的二进制文件复制到我的 Windows 机器中。  当我按照 安装 ccs9后 Processor SDK RTOS Automotive06_02_00中索引的步骤"为 J721E 进行 CCS 设置"时、它会投诉"DMSC_Cortex_M3_0:GEL:加载文件'E:\workstar\PSDK_RTOS_J7_06_00_21\pdmsc 时出错、请点击下面的"CCS ble\dcsdle\ctle\netring\dcs.line.t\dcsdle\ccsdle\cdle\cdle\ctle\ctle\ctle\ctine.ti\line.tle\cdle\cdle\cdle\cdle\cdle\ctines\ctine.ti\

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引用 user5060116"] 在安装 ccs9后,如果我按照 Processor SDK RTOS Automotive06_02_00中索引的步骤“CCS setup for J721E”加载 GEL 文件,则会在安装 ccs9后出现“dmsc_Cortex_m3_0:GEL:加载文件时出错“E:\workshop\psdk_rtos_auto_jet_j07_jmsc:\out_jble\cling\j021_tools\cling\jtines\client\j07_jtinu\j07_jble\cling\j07_jtines\client\s\cling\s\cling\j07_j

    launch.js 不是 GEL 文件。 我假设您可以使用 脚本控制台加载 DSS javascript

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    抱歉,我出错了。事实上,在脚本控制台中加载 launch.js 时会发生错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您能否压缩并附加您正在使用的 launch.js 文件?

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    /*
     *版权所有(c) 2018-2019、德州仪器(TI)公司
     *保留所有权利。
     *
     *以源代码和二进制形式重新分发和使用、有无
     *如果满足以下条件、则允许进行修改
     符合*:
     *
     ** 源代码的重新分发必须保留上述版权
     *   注意、此条件列表和以下免责声明。
     *
     * *二进制形式的再发行必须复制上述版权
     *   请注意、中的此条件列表和以下免责声明
     *   随分发提供的文档和/或其他材料。
     *
     * *德州仪器公司的名称和名称均不相同
     *   其贡献者可用于认可或推广衍生产品
     *   未经特定的事先书面许可。
     *
     *本软件由版权所有者和贡献者"按原样"提供
     *以及任何明示或暗示的保证、包括但不限于:
     *特定适销性和适用性的隐含保证
     *不承认目的。 在任何情况下、版权所有者不得或
     *派遣国应对任何直接、间接、偶然、特殊、
     *典型或必然的损害(包括但不限于
     *采购替代货物或服务;丧失使用、数据或利润;
     *或业务中断)、无论原因是什么以及任何责任理论、
     *无论是合同、严格责任还是侵权行为(包括疏忽或)
     *否则)因使用本软件而以任何方式产生、
     *即使被告知可能会发生此类损坏。
     *
    //
    //文件名:launch_j721e.js
    //描述:
    //  从 R5F 启动 DMSC 固件和板配置。
    //
    //用法:
    //
    //从 CCS 脚本控制台
    //  1. loadJSFile "C:\\ti\\launch_j721e.js"
    //
    //注意:
    //  1.搜索"edit this (编辑此内容)"以查看需要编辑的更改
    //    供您使用。
    //

    //
    //将其设置为1以允许直接从 ccxml 文件加载 GEL 文件。
      DisableGelLoad = 0;
    //设置为1以将固件与防火墙一起使用。
    if (disableGelLoad =0)

       // GEL 文件的路径
       gelFilePath ="K3-AVV-repo/framework / gels/K3J7";

    //PDK 路径。 编辑此内容
    pdkPath ="E:\workar\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;
    //到 sysfw bin 的路径
    sysfw_bin = pdkPath+"/packages/ti/drv/sciclient/soc/sysfw/binaries/ti-sci-firmware-j721e-gp.bin "
    //
    //将 DSS 软件包导入我们的命名空间,以便在键入时保存
    importPackage (Packages.com.ti.debug.engine.scripting)
    importPackage (Packages.com.ti.ccstudio.scripting.environment)
    importPackage (Packages.java.lang)
    importPackage (Java.io);
    importPackage(Java.lang);
    函数 updateScriptVars()

       //打开调试会话
       dsMCU1_0 = debugServer.openSession(".*MCU_Cortex_R5_0");
       dsDMSC_0 = debugServer.openSession("../DMSC_Cortex_M3_0");
    函数 printVars()

       updateScriptVars();
    函数 connectTargets()

       /*将超时设置为20秒*/
       script.setScriptTimeout(200000);
       updateScriptVars();
       sysResetVar=dsDMSC_0.target.getResetType (1);
       sysResetVar.issueReset();
       打印("连接到 DMSC_Cortex_M3_0!");
       //连接目标
       dsDMSC_0.target.connect();
       打印("填充 R5F ATCM 存储器...");
       dsDMSC_0.memory.fill (0x61000000、0、0x2000、0);
       打印("为 R5F 写入 while (1)")
       dsDMSC_0.memory.writeWord (0、0x61000000、0xE59FF004);/* LDR       PC、[PC、 #4]*/
       dsDMSC_0.memory.writeWord (0、0x61000004、0x38);      //地址0x38 *
       dsDMSC_0.memory.writeWord (0、0x61000038、0xEAFFFFE)// b         #0x38 */
       打印("正在加载 DMSC 固件... "+ sysfw_bin);
       //加载 DMSC 固件
       dsDMSC_0.memory.loadRaw (0、0x40000、sysfw_bin、32、false);
       打印("DMSC 固件加载完成...");
       //设置堆栈指针和程序计数器
       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 固件立即运行...");
       //运行 DMSC 固件
       dsDMSC_0.target.runAsynch();
       print ("连接到 MCU Cortex_R5_0!");
       //连接 MCU R5F
       dsMCU1_0.target.connect();
       print ("从 R5运行电路板配置初始化!");
       //加载电路板配置初始文件。
       dsMCU1_0.memory.loadProgram (ccs_init_elf_file);
       //停止 R5F 并重新运行。
       dsMCU1_0.target.halt ();
       //同步运行以使可执行文件完成
       dsMCU1_0.target.run();
       /*运行 DDR 配置*/
       print("Running the DDR configuration...(正在运行 DDR 配置...) 等到它完成!");
       dsDMSC_0.target.halt ();
       dsDMSC_0.expression.evaluate ("J7ES_LPDDR4_Config_late ()");
       dsDMSC_0.target.runAsynch();
    函数不连接 Targets()

       updateScriptVars();
       //将 R5F 重置为干净状态。
       dsMCU1_0.target.reset ();
       //断开目标
       dsDMSC_0.target.disconnect();
    函数 doEverything()

       printVars();
       connectTargets();
       disconnectTargets();
       打印("好的、你可以去... 祝调试愉快!!!");
    VAR DS;
    VAR debugServer;
    VAR 脚本;
    //检查是否从 CCSv4脚本控制台中运行
    var withinCCS =(DS!=未定义);
    //创建脚本环境并获取调试服务器(如果独立运行)
    如果(!withinCCS)

       //将 DSS 软件包导入我们的命名空间,以便在键入时保存
       importPackage (Packages.com.ti.debug.engine.scripting);
       importPackage (Packages.com.ti.ccstudio.scripting.environment);
       importPackage (Packages.java.lang);
       //创建我们的脚本环境对象-这是任何脚本和的主要入口点
       //创建其他可脚本化程序和会话的工厂
       脚本= ScriptingEnvironment.instance();
       //获取调试服务器并启动调试会话
       debugServer = script.getServer ("DebugServer.1");

    else //否则利用现有脚本环境和调试服务器

       debugServer = DS;
       脚本= env;
    一切都好();

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢。  

    我认为第51行的发言没有任何问题。 文件加载好。 您是否仍然遇到文件加载问题?

    有关数据填充尝试导致的验证错误、请参阅以下文章、其中解释了验证错误。

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

    基本上、要检查的关键是调试器存储器映射是否配置正确以及目标上的物理存储器是否有效/配置。

    谢谢

    Ki