主题:C2000WARE 中讨论的其他器件
工具/软件:
当该程序在 CLA 中运行时、会影响主 CLA 程序的结果。 原因是什么?
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.
工具/软件:
当该程序在 CLA 中运行时、会影响主 CLA 程序的结果。 原因是什么?
我仍然不清楚这里的问题是什么。
tttsigma 指的是什么函数? 这个函数是否是 CLA 任务的一部分? 您能否确认已根据此处所示指南正确设置了 CLA?
/cfs-file/__key/communityserver-discussions-components-files/171/CLAProjectStructureUG.pdf
听起来在针对 C28x 进行编译时、上面显示的相同例程似乎适用。 是这样吗?
此致、
Ozino
我假设您说它在 Windows10上运行良好、我假设这是指在为 C28x 编译所有函数时代码正常运行?
您是否能够拆分代码实现并在 CLA 上单独启用每个函数、以确认准确的设置和对 CLA 的调用。 例如、从 CLA 中只有 dpwm_comp 开始、然后在每个步骤中添加 func A、最后添加 func B。确保代码在 CLA 上运行。
我将引用 C2000Ware 中 driverlib 文件夹下提供的 cla_ex6_cpu_offloading、以获取如何加载代码的示例。
C28没有尝试、因为 B->A->DPWM_C 仅在 CLA 中运行。 这些代码从 arm32移植、而 A->DPWM_C 在 arm32和 win10x64中工作正常。 只有 TI 顶层是不正常的。 与其他人编写的 TI 代码(不使用局部变量、使用的变量都是全局或静态变量)相比、我添加的代码使用了大量局部变量和多个带有形式参数的函数调用。 TI 的 CLA 编译是否不支持局部变量或不知道多个参数的函数调用?
如果我理解正确、您在启用 CLA 的代码中有一组局部变量、但您看不到数据显示 正确吗?
如果是、我建议查看是否可以在 CLA 任务中调试代码。 以下是有关如何在 CLA 上进行调试的一些信息
https://software-dl.ti.com/C2000/docs/cla_software_dev_guide/debugging.html
这是一篇关于使用局部变量进行调试的论坛帖子。
(+) LAUNCHXL-F28379D:在 CLA - C2000微控制器论坛- C2000︎ 微控制器- TI E2E 支持论坛上进行调试时显示局部变量
(+) TMS320F280049:如果在不同的任务 CLA - C2000微控制器论坛- C2000︎ 微控制器- TI E2E 支持论坛中使用、则变量需要作为电压探讨
嗨、Lori、
红色框对于本案例没有特殊含义。
根据电子邮件中的内容、我们希望获得您对以下问题的支持。
该主题还包括来自客户端的一些详细信息。 如果您有任何疑问、敬请告知。 谢谢!
BR、
Fengyu
TI 的 CLA 编译是否不支持局部变量
CLA 支持局部变量。 可用于数据和变量的存储器受 CLA 数据 RAM 和消息 RAM 的大小限制。
请 参阅编译器指南(www.ti.com/lit/spru514) CLA 编译器:10.2.5内存模型-各节
局部变量放入 CLA"暂存区"中、此暂存区充当 CLA C 软件栈。
预计.scratchpad 会在应用程序的链接器命令文件中分配。
请检查.scratchpad 段是否在链接器.cmd 文件中正确分配。
不需要指定.scratchpad 段的大小。 链接器会为您执行此操作。
不知道多个参数的函数调用
请 参阅编译器指南(www.ti.com/lit/spru514) CLA 编译器:10.2.6函数结构和调用惯例
是的、支持多个参数。 寄存器和暂存区用于在函数之间传输变量。
这包括返回结构体。
若要进一步调试、请尝试在一个允许单步执行代码的小型工程中调试此函数。
这将有助于缩小问题范围。 是(a)功能有问题、还是(b)功能集成到应用程序中。
此致、
Lori