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/OMAPL138B-EP:TMS320C6748

Guru**** 2587345 points
Other Parts Discussed in Thread: CCSTUDIO

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/603117/ccs-omapl138b-ep-tms320c6748

部件号:OMAPL138B-EP
主题中讨论的其他部件:CCStudioOMAPL138

工具/软件:Code Composer Studio

您好,Ki-Soo Lee,

我正在使用5.5 中的DSS工具为我的项目进行自动化测试。 我编写了脚本,通过遵循TI提供的示例脚本(即“Breakpoint.js”)来测试我的函数。

我的问题是为什么if{}else{}语句给出语法错误以及为什么两个条件语句都执行。请向MW显示一些解决方案。

我有一个类似如下的问题。

我已经在E2E论坛上通过了一些主题。在这里我看到了你对Rohini女士和Matthias女士的回复,但这些帖子对我没有帮助。

请帮我解决问题。

提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    请提供您的脚本(或问题脚本的片段)和您收到的确切语法错误消息。

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

    感谢您的快速回复。 我在这里添加了脚本,请您对此进行调查。

    /************************************************************************************************ /
    ############################################################################################################################################################################################################################################################

    //将DSS软件包导入我们的命名空间,以便在键入时保存
    ImportPackage( Packages.com.ti.debug.engine.scripting);
    ImportPackage( Packages.com.ti.ccstudio.scripting.environment);
    ImportPackage(Packages.java.lang);

    //创建我们的脚本环境对象-它是主要入口点
    //到任何脚本和工厂中,用于创建其他可脚本的服务器和会话
    VAR脚本= ScriptingEnvironment.instance();

    //创建日志文件以记录脚本执行
    script.traceBegin ("phasecompLOG.xml","DefaultStylesheet.xsl");

    //设置控制台和日志的跟踪级别
    script.traceSetConsoleLevel (TraceLevel.info);
    script.traceSetFileLevel (TraceLevel);

    script.traceWrite("开始脚本会话");

    //获取调试服务器并启动调试会话
    var debugServer = script.getServer("DebugServer.1");
    debugServer.setConfig("OMAPL138_c6748.ccxml");
    var debugSession = debugServer.openSession("Blackhawk XDS560v2-USB系统跟踪仿真器_0/C674x_0");

    //连接到CPU
    debugSession.target.connect();

    //加载程序
    debugSession.memory.loadProgram(".......... /DRP_sim/Debug_L138/DRP_C6748.out);

    //在printf()语句中添加断点
    VAR SP1_Address = debugSession.symbol.getAddress("Task_SP1")
    VAR SP1_Process = debugSession.breakpoint.add(SP1_Address);

    //在printf()语句中添加断点
    VAR SP23_Address = debugSession.symbol.getAddress ("Task_SP23")
    VAR SP23_PROCESS = debugSession.breakpoint.add(SP23_Address);

    //重新启动我们的目标
    debugSession.target.Restart()

    //如果尚未在main上自动停止,则运行。 应在第一个BP处停止
    IF (debugSession.Expression.Evaluate ("PC")!= SP1_Address)

    debugSession.target.run();
    }

    //使用表达式-获取PC的当前值
    VAR NPC = debugSession.expression.Evaluate ("PC")

    //验证我们是否在正确的地址停止。 使用Static Java方法Long.toHexString()转换
    //记录消息时的结果为十六进制字符串
    IF (NPC == SP1_Address)

    script.traceWrite("success:halted at correct location");
    }
    否则

    script.traceWrite("失败:预期在0x"+ Long.toHexString(SP1)+",实际在0x"+ Long.toHexString(SP1_Address)停止)

    script.traceSetConsoleLevel (TraceLevel.info)
    script.traceWrite("测试失败!")
    script.traceEnd()
    //java.lang.System.Exit(1);
    }

    //再次运行。 应该在我们的断点处停止
    debugSession.target.run()

    //使用表达式-获取PC的当前值
    VAR NPC = debugSession.expression.Evaluate ("PC")

    //验证我们是否在正确的地址停止。
    如果(NPC == SP23_Address){
    script.traceWrite("success:halted at correct location")
    }其他{
    script.traceWrite ("失败:预期的停止时间为0x"+ Long.toHexString (SP23_Address)+",实际停止时间为0x"+ Long.toHexString (NPC))

    script.traceSetConsoleLevel (TraceLevel.info)
    script.traceWrite("测试失败!")
    script.traceEnd()
    //java.lang.System.Exit(1);
    }

    //全部完成
    //debugServer.stop();

    //script.traceSetConsoleLevel (TraceLevel.info)
    script.traceWrite("测试成功");

    //停止日志记录并退出。
    script.traceEnd();


    ############################################################################################################################################################################################################################################################
    /************************************************************************************************ /


    在上述脚本中,我在if(debugSession.Expression.Evaluate("PC")!= SP1_Address),if (NPC == SP1_Address)和中收到语法错误
    IF (NPC == SP23_Address)。

    /************************************************************************************************ /
    ############################################################################################################################################################################################################################################################


    js:>//如果尚未在main中自动停止,则运行。 应在第一个BP处停止

    js:> if (debugSession.Expression.Evaluate ("PC")!= SP1_Address)
    语法错误
    JS:>{
    语法错误
    js:> debugSession.target.run();

    js:>}
    语法错误
    JS:>

    JS:>//使用表达式-获取PC的当前值

    js:> var nPC = debugSession.expression.Evaluate ("pc")

    JS:>

    JS:>//验证我们在正确的地址停止。 使用Static Java方法Long.toHexString()转换

    js:>//记录消息时结果为十六进制字符串

    JS:> IF (NPC == SP1_Address)
    语法错误
    JS:>{
    语法错误
    js:> script.traceWrite ("成功:在正确位置停止");

    js:>}
    语法错误
    JS:> else
    语法错误
    JS:>{
    语法错误
    js:> script.traceWrite ("失败:预期在0x"+ Long.toHexString (SP1_Address)+",实际在0x"+ Long.toHexString (NPC))停止

    JS:>

    js:> script.traceSetConsoleLevel (TraceLevel.info)

    js:> script.traceWrite ("测试失败!")

    js:> script.traceEnd()

    js:>//java.lang.System.Exit(1);

    js:>}
    语法错误
    JS:>

    JS:>//再次运行。 应该在我们的断点处停止

    js:> debugSession.target.run()

    JS:>

    JS:>//使用表达式-获取PC的当前值

    js:> var nPC = debugSession.expression.Evaluate ("pc")

    JS:>

    JS:>//验证我们在正确的地址停止。

    js:>如果(NPC == SP23_Address){
    语法错误
    js:> script.traceWrite("success:halted at correct location")

    js:>}其他{
    语法错误
    js:> script.traceWrite ("失败:预期停止时间为0x"+ Long.toHexString (SP23_Address)+",实际停止时间为0x"+ Long.toHexString (NPC))

    JS:>

    js:> script.traceSetConsoleLevel (TraceLevel.info)

    js:> script.traceWrite ("测试失败!")

    js:> script.traceEnd()

    js:>//java.lang.System.Exit(1);

    js:>}
    语法错误
    JS:>

    JS:>//全部完成

    js:>//debugServer.stop();

    JS:>

    js:>//script.traceSetConsoleLevel (TraceLevel.info)

    js:> script.traceWrite("测试成功");

    JS:>

    JS:>//停止日志记录并退出。

    js:> script.traceEnd();

    ############################################################################################################################################################################################################################################################
    /************************************************************************************************ /

    请帮助我解决这些语法错误。

    谢谢你。

    此致,
    Koti。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Kosti
    您似乎正在尝试将脚本作为命令文件加载到脚本控制台。 您是否正在使用"打开命令文件"按钮?

    您需要将脚本加载为javascript文件:

    示例:

    js:> loadJSFile C:\path\to\file .js

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

    非常感谢。 您答对了,很抱歉由于不在电台而延迟回复。

    Ki Soo Lee,我能在这条线程中再问一个问题吗?这个问题与OMAP器件的代码覆盖有关。

    如果没有问题,则表示我将继续此线程,否则我将停止。 请给我回复,并感谢您花宝贵的时间与我联系。

    此致,
    Koti。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Koti:
    请为代码覆盖问题启动新线程。 它有助于更轻松地正确响应线程。

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

    我肯定会为代码覆盖问题启动新线程。

    谢谢,此致,
    Koti。