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.

[参考译文] LAUNCHXL-F280049C:CSS 脚本无法在 CCS 20.4.1 上正常工作

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1633971/launchxl-f280049c-css-scripting-doesnt-work-on-ccs-20-4-1

器件型号: LAUNCHXL-F280049C

你(们)好

我尝试使用 https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-scripting.html 中指定的脚本创建调试环境

我总是坚持得到以下问题.  

PS C:\ti\ccs2041\ccs\scripting> .\run.bat "C:\Users\surendra.nadkarni\workspace_ccstheia\sci_ex3_interrupts_fifo\read_memory.js"
[
  'Texas Instruments XDS110 USB Debug Probe_0/C28xx_CPU1',
  'Texas Instruments XDS110 USB Debug Probe_0/CLA1_0'
]
GEL: C28xx_CPU1: GEL Output:
Memory Map Initialization Complete

GEL: C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...

GEL: C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...

Target connected. Loading program...
GEL: C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...

GEL: C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...

GEL: C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...

GEL: C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...

C:\ti\ccs2041\ccs\scripting\node_modules\scripting\syncAgent.js:196
            throw new TimeoutError();
                  ^

ScriptingTimeoutError: Scripting operation timed out
    at waitForMessage (C:\ti\ccs2041\ccs\scripting\node_modules\scripting\syncAgent.js:196:19)
    at Object.waitFor (C:\ti\ccs2041\ccs\scripting\node_modules\scripting\syncAgent.js:204:17)
    at Object.receive (C:\ti\ccs2041\ccs\scripting\node_modules\scripting\syncAgent.js:345:36)
    at receiveForModule (C:\ti\ccs2041\ccs\scripting\node_modules\scripting\syncAgent.js:439:25)
    at receiveResponse (C:\ti\ccs2041\ccs\scripting\node_modules\scripting\syncAgent.js:446:20)
    at execCommand (C:\ti\ccs2041\ccs\scripting\node_modules\scripting\syncAgent.js:490:23)
    at Object.loadProgram (C:\ti\ccs2041\ccs\scripting\node_modules\scripting\syncAgent.js:557:48)
    at Object.<anonymous> (C:\Users\surendra.nadkarni\workspace_ccstheia\sci_ex3_interrupts_fifo\read_memory.js:12:16)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)

Node.js v18.16.0

我想知道这个问题的原因是什么。 请注意、我可以使用 CCS 应用程序来调试/刷写输出文件。 请找到随附的脚本文件。  

const ds = initScripting();

let { cores, nonDebugCores } = ds.configure("C:\\Users\\surendra.nadkarni\\workspace_ccstheia\\sci_ex3_interrupts_fifo\\targetConfigs\\TMS320F280049C_LaunchPad.ccxml");

// Configure a 10 second timeout on all operations (by default there is no timeout)
ds.setScriptingTimeout(10000);
console.log(cores);

const session = ds.openSession('Texas Instruments XDS110 USB Debug Probe_0/C28xx_CPU1');
session.target.connect();
console.log("Target connected. Loading program...");
session.memory.loadProgram("C:\\Users\\surendra.nadkarni\\workspace_ccstheia\\sci_ex3_interrupts_fifo\\CPU1_FLASH\\sci_ex3_interrupts_fifo.out");

console.log("Program loaded. Running target...");
session.target.run();
console.log("Target is running. Waiting for 5 seconds...");
sleep(5000); // Wait for the target to run for a bit before reading memory
console.log("Target is running. Reading memory...");
const symbolAddr = 0x0000a94a;
console.log(`Symbol address: ${symbolAddr}`);


// Example: Read 16 bytes from address 0x00000000
const address = symbolAddr;
const dslocation = address.toString(16) + "@DATA";
const length = 255;
const data = session.memory.read(dslocation, length, 16);
for (let i = 0; i < data.length; i++) {
    console.log(`0x${(address + i).toString(16)}: 0x${data[i].toString(16).padStart(2, '0')}`);
}
console.log(`Data read from 0x${address.toString(16)}:`, data);
session.target.disconnect()
ds.shutdown();

ccxml 文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
        <instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe_0" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe_0" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
        <connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
            <instance XML_version="1.2" href="drivers/tixds510icepick_c.xml" id="drivers" xml="tixds510icepick_c.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds510c28x.xml" id="drivers" xml="tixds510c28x.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds510cla2.xml" id="drivers" xml="tixds510cla2.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds510cs_child.xml" id="drivers" xml="tixds510cs_child.xml" xmlpath="drivers"/>
            <property Type="choicelist" Value="4" id="SWD Mode Settings"/>
            <platform XML_version="1.2" id="platform_0">
                <instance XML_version="1.2" desc="TMS320F280049C_0" href="devices/f280049c.xml" id="TMS320F280049C_0" xml="f280049c.xml" xmlpath="devices"/>
            </platform>
        </connection>
    </configuration>
</configurations>

第二个问题是、是否可以使用 CCS 工具运行 GDB 服务器?

Surendra

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

    尊敬的 Surendra:

    您能尝试以下操作吗  

    10 秒的超时时间太短、将其增加到 60 或 120 秒。

    请先尝试此修复程序、

    另一个潜在的问题是、由于您的应用程序连续运行并且从不停止。 即使 loadprogram() 成功、脚本也可以挂起。
    配置  

    session.target.runAsynch(); 而不是 session.target.run()

    是的、CCS 工具支持 GDB、您可以参考以下链接。

    XDS GDB 代理

    但目前它不支持 C2000 器件。

    此致、
    Lakshya

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

    你好 Lakshya

    更改超时工作。 谢谢。