工具与软件:
我想通过 CAN 发送一组变量值以用于监控。 其中一些变量在 CLA 至 CPU RAM 中声明。 我正在尝试通过 CAN 接口将这些变量从 CPU 发送到另一个 CAN 节点(上电时)。
当代码在调试会话中运行时、这些变量的最新值将在观察窗口中更新。 但它在上电复位时对所有参数显示为零。
我试图将这些值复制到 CPU 侧温度变量中并使用这些温度变量来发送 CAN 消息、仍然是一样的。
为什么它在上电复位时不起作用?
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.
工具与软件:
我想通过 CAN 发送一组变量值以用于监控。 其中一些变量在 CLA 至 CPU RAM 中声明。 我正在尝试通过 CAN 接口将这些变量从 CPU 发送到另一个 CAN 节点(上电时)。
当代码在调试会话中运行时、这些变量的最新值将在观察窗口中更新。 但它在上电复位时对所有参数显示为零。
我试图将这些值复制到 CPU 侧温度变量中并使用这些温度变量来发送 CAN 消息、仍然是一样的。
为什么它在上电复位时不起作用?
尊敬的 Ashwini:
我有几个澄清问题:
应注意的一点是、在 F28003x 上、CLA 无法访问 CAN 外设。 这意味着它无法访问其任何寄存器。 这听起来并不像你 要做的,但我只是想提到这一点。
此致、
Delaney
尊敬的 Delaney:
您将哪个 LSRAM 分配给 CLA?
LSRAM0用作共享数据存储器。

您所引用的变量是否在 CLA 到 CPU 消息 RAM 中声明?
有。

变量的数据类型是什么?
大多数为 float32_t 类型
当您在调试过程中看到变量更新时、是从 CLA 还是从 C28x 的角度来看?
C28x 角度
您最初是否看到所有正确功能、然后在后续下电上电后读数为零?
有。
CLA 无权访问 CAN 外设。 这意味着它无法访问其任何寄存器。
好的。 但我正在尝试通过 CAN 传输 CLA 变量(与 CPU 共享)数据。

我将这些变量复制到 temperory CPU 变量中、并通过 CAN 发送 temperory CPU 变量。



尊敬的 Delaney:
感谢您的回复!
如果切换到调试器的 CLA 视图、调试器中是否显示了写入消息 RAM 的正确值?
是、它会显示正确的值
您是否正在从闪存或 RAM 运行 C28x 代码?
从 RAM 获取闪存以及 CLA 和 CLA。
此致、
-阿什维尼
器件型号:TMS320F280037C
工具与软件:
我们使用 CLA 来控制 EPWM1和 EPWM2模块的 PWM 信号、这些信号由 CPU 初始化。 代码在调试模式下工作、但在我们执行上电复位时
不管用。 CLA 从闪存加载、但写入 RAM、CPU 被写入并从闪存加载。 为该文件附加链接文件。
e2e.ti.com/.../1731.28003x_5F00_app_5F00_generic_5F00_flash_5F00_lnk.zip
大家好、dalaney:
您的主 CPU 代码中是否有以下几行代码用于在运行时将数据从闪存复制到 RAM?
是的、在 CLA 初始化函数中

此致、
Ashwini
尊敬的 Ashwini:
我看到有两个线程未决、所以我将它们加入到了这里。 您用来将程序从闪存复制到 RAM 的代码看起来正常。 请查看我之前的回复:
[报价 userid="573616" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1370307/tms320f280037c-cla-variables-are-resetted-on-power-on/5241177 #5241177"]我认为您的设置没有问题。 您是否以任何方式修改了链接器 cmd 文件(来自示例链接器 CMD 文件)?
[报价]此致、
Delaney
尊敬的 Delaney:
我已经检查了您共享的已赞主题帖。 但仍然无法找到问题的原因。
您是否以任何方式修改了链接器 cmd 文件(来自示例链接器 CMD 文件)
是的、我修改了它。
1.开始地址
2.用于主应用程序的闪存 Banck 扇区3至15。
3.闪存存储体扇区3至15 ,用于(新更新代码)下载的应用程序。
4. RAM 的1至6段用于 CLA 编程。
附加两个链接器 cmd 文件:
28003x_gneric_flash_lnk ->示例链接器 CMD 文件。
28003x_app_flash_lnk ->已修改、当前正在使用 cmd 文件
e2e.ti.com/.../28003x_5F00_generic_5F00_flash_5F00_lnk.zipe2e.ti.com/.../28003x_5F00_app_5F00_flash_5F00_lnk.zip
e2e.ti.com/.../6470.device.ce2e.ti.com/.../1104.device.he2e.ti.com/.../1104.board.c
此致、
Ashwini
尊敬的 Delaney:
您如何执行此 POR? [报价]它通过在5 - 10秒后关闭微控制器电源并将其上电来实现。
尊敬的 Delaney:
上电复位对这两个问题都有效:
1. CLA 不工作。
CLA 变量被重新写入。
在 引导加载程序代码中、LS1 RAM 至 LS6 RAM 段配置为 CLA 程序存储器。
更改已完成
LS1 RAM 至 LS6 RAM 段 分配至 CPU 专用存储器
2.删除了引导加载程序中链接器命令文件中的以下行(删除了 CLA 相关行)