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.

[参考译文] TMS320F28069:更改.out 文件中的变量值

Guru**** 2561310 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/996467/tms320f28069-change-variable-value-in-out-file

器件型号:TMS320F28069
主题中讨论的其他器件:UNIFLASH

我能够使用 CCS 10.2将 Simulink 生成的代码构建到.out 文件中。 但是、我希望能够更改.out 文件中变量的值。  我的用例是客户需要能够更改软件的某些参数以测试不同的场景。 现在、我要更改源代码中的值、重新编译并向客户共享更新的.out 文件。 我希望客户能够自己进行更改、但我不想与客户共享源代码。  

我可以在映射文件中找到要更改的变量并使用 nm2000.exe --all。 问题是、我不知道存储器地址并在.out 文件内进行更改。 例如、我能够找到我要在链接器文件中更改的以下结构:

全局数据符号:按数据页排序

地址数据页名
---- -------- ----

00010680   41a (00010680)   _TE_Rotate_Pro_P

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

    我们没有支持该功能的实用程序...

    [引用 userid="482575" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/996467/tms320f28069-change-variable-value-in-out-file "]更改.out 文件中变量的值。

    可以通过一些方法来实现它。  但它们不是用户友好的。  您可能会得出这样的结论:更容易...

    [引用 userid="482575" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/996467/tms320f28069-change-variable-value-in-out-file "]对源代码中的值进行更改,重建并向客户共享更新的.out 文件。

    此论坛帖子 展示了如何更改.out 文件中的 CRC 值。  这些说明适用于您的具体情况。  但过程是类似的。  这是您感兴趣的吗?

    谢谢、此致、

    乔治

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

    你(们)好

    是的、这是我对实施感兴趣的内容。 查看您提供的链接、您似乎能够使用链接器映射文件中的 CRC 值在汇编文件中找到与 CRC 相关的初始化。 但是、我的链接器文件不包含 _TE_Rotate_Pro_P 的任何值、因此我不确定如何在 反汇编文件中找到_TE_Rotate_Pro_P。

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

    马什鲁尔

    还有几个其他选项可供探索。 但是、我想进一步了解客户的环境。 他们还会使用 CCS 加载程序吗? 或者他们是否计划使用 UniFlash 等替代工具?

    谢谢

    Ki

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

    您好 Ki、

    I 和客户都使用 CCS 通过 JTAG 进行闪存、使用 C2Prog 通过 CAN 进行闪存。 当前.out 文件支持这两种模式、因为软件中包含 C2Prog 引导加载程序的挂钩。 在对.out 文件进行变量的值更改后、我想继续通过 CAN 和 JTAG 进行闪存。

    谢谢、

    Mashrur

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

    如果可以使用 JTAG 上的 CCS、则可以选择在 脚本控制台中使用 loadProg 命令。 它允许您将参数传递给 main (argc/argv)。 这些参数可用于设置变量值。  

    另一个选项是使用 loadti。 它是一个命令行加载程序。 loadti 可用于加载程序并将参数传递给 main:

    https://dev.ti.com/tirex/explore/node?node=APTlbjPVSx2Y60AlJCPW8A__FUz-xrs__LATEST

    Ki