您好!
我正在考虑编写 python 脚本来通过 DSS 来操作 CSS。
我可以在调试时在表达式窗口中更改变量的值吗? 我找不到任何 API 来执行它。
谢谢你。
Miura。
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.
您好!
我正在考虑编写 python 脚本来通过 DSS 来操作 CSS。
我可以在调试时在表达式窗口中更改变量的值吗? 我找不到任何 API 来执行它。
谢谢你。
Miura。
Miura-San,
Unknown 说:我正在考虑用 python 脚本来通过 DSS 操作 CSS。
您计划如何做到这一点? 您是否尝试使用下述技术从 DSS 启动 CCS IDE?
https://software-dl.ti.com/ccs/esd/documents/dss_launching_ccs_from_dss.html
请注意、以上功能只能通过 JavaScript 进行验证。
[quote userid="595538" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1327700/tms320f28379d-how-to-change-the-expression-while-debugging 能否在调试时更改表达式窗口中变量的值? 我找不到任何 API 来执行它。您可以使用 DSS 存储器 API 将值写入变量的地址,如 memory.writeWord()。 请参阅 DSS API 文档。
dss symbol.getAddress 可以返回全局变量等符号的地址。
谢谢!
小
三浦山
和 API 可以在 python (Jython)中使用,是不是吗?
可以、您可以使用 python 脚本来(通过 Jython)来调用 DSS API。 请注意、您只能通过 DSS 命令行执行此操作。
三浦山
然而我无法读取特定成员的地址。
我认为您不能使用该 API 来获取结构成员的地址。
不过、您可以使用不同的 API。 尝试:
address = debugSession.expression.evaluate ("&gstr_DCDC_CPU2CLA.gf32_DCDC_BCM_Vo_ref")
谢谢!
小
Ki-San、
感谢您的回复。
我成功地读取了结构成员的地址、它的值。
现在、我正在尝试更改结构成员的值、但它尚未起作用。
我尝试了4个命令 bellow 连续。
------------------------------------------------------------------------------------------------------------------------
1.data = debugSession.expression.evaluate ("gstr_DCDC_CPU2CLA.gf32_DCDC_BCM_Vo_ref")
➢结果:data=0x00
2.address = debugSession.expression.evaluate ("&gstr_DCDC_CPU2CLA.gf32_DCDC_BCM_Vo_ref")
➢结果:地址= 0xC106
3.debugSession.memory.writeWord(1、地址、10)
4.data = debugSession.expression.evaluate ("gstr_DCDC_CPU2CLA.gf32_DCDC_BCM_Vo_ref")
➢结果:data=0x00
------------------------------------------------------------------------------------------------------------------------
我预计序列4的结果将为0x0a (我写入的值)。 但事实并非如此。
您能告诉我在我的路上出了什么问题吗?
作为参考、我在尝试序列时附加了命令行。
>>> data = debugSession.expression.evaluate("gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref")
evaluate: ENTRY sExpression: gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref
eval: Requesting evaluation of expression: "gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref"
isConnected: ENTRY
isConnected: Target is connected
isConnected: RETURN true
isHalted: ENTRY
isHalted: Target is not halted
isHalted: RETURN false
waitUntil: ENTRY timeout: infinite
onEvent: Evaluated expression: gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref
waitUntil: RETURN
evaluate: RETURN 0x0
>>> address = debugSession.expression.evaluate("&gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref")
evaluate: ENTRY sExpression: &gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref
eval: Requesting evaluation of expression: "&gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref"
isConnected: ENTRY
isConnected: Target is connected
isConnected: RETURN true
isHalted: ENTRY
isHalted: Target is not halted
isHalted: RETURN false
waitUntil: ENTRY timeout: infinite
onEvent: Evaluated expression: &gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref
waitUntil: RETURN
evaluate: RETURN 0xc106
>>> debugSession.memory.writeWord(1, address, 10)
writeWord: ENTRY nPage: 1 nAddress: 0xc106 nValues: 0xa
getPageCount: ENTRY
getPageCount: RETURN 4
writeWord: Calculating size of a Word
writeWord: Word Size: 16 bits
writeData: ENTRY nPage: 1 nAddress: 0xc106 nValues: 0xa nTypeSize: 16
writeData: Validating page
writeData: Validating start address
writeData: Getting memory object from debug session
writeData: Setting start address: 0xc106
writeData: Setting buffer length: 1
writeData: Filling buffer
writeData: Writing 1 value(s) to target
writeData: Requesting memory write of 1 value(s) to target
waitUntil: ENTRY timeout: infinite
onEvent: Memory request complete
waitUntil: RETURN
writeData: RETURN
writeWord: RETURN
>>> data = debugSession.expression.evaluate("gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref")
evaluate: ENTRY sExpression: gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref
eval: Requesting evaluation of expression: "gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref"
isConnected: ENTRY
isConnected: Target is connected
isConnected: RETURN true
isHalted: ENTRY
isHalted: Target is not halted
isHalted: RETURN false
waitUntil: ENTRY timeout: infinite
onEvent: Evaluated expression: gstr_Dcdc_CPU2CLA.gf32_DCDC_BCM_Vo_ref
waitUntil: RETURN
evaluate: RETURN 0x0