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.

[参考译文] TMS320F28377S:CLA ->MPU 通信

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/822893/tms320f28377s-cla---mpu-communication

器件型号:TMS320F28377S

我有以下问题:

当我有一组变量时、CLA 和 MCU 之间的通信正常。 只有当我将这些变量放入结构中时、它才不起作用。 所有变量均为32位。

 我指定以下内容:

typedef 结构{
    uint32_t         res_iqangle_pu;
    uint32_t         res_anglelength;
    int32_t          res_speed_Hz;
    int32_t          res_poserror_cnts;
    int32_t          res_zero_cnts;
    motorpos_t       res_pos_cnts;
}易失性旋变传感器_结果_t;

#pragma DATA_SECTION (旋变传感器结果、"Cla1ToCpuMsgRAM")
#pragma DATA_ALIGN (旋变传感器结果、4)
volatile resoler_result_t               resoler_result;

如何 解决此问题?

谢谢。

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

    EV、

    motorpos_t 的数据类型是什么?   

    一些调试建议:  

    • 阅读此常见问题解答、了解数据类型差异是否以任何方式适用。  https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/795567
    • 代码如何"不起作用"?  
      • CLA 写入错误的位置吗? 单步执行代码、观察写入值的位置与 C28x 的期望值之间的关系(反之亦然)
      • 或者写入正确的位置、但值错误吗?
    • 查看研讨会-特别是第5部分、了解提示和技巧。 本视频介绍了用户在为 CLA 编写代码时面临的一些常见问题。 这是对论坛上一些最常见问题的汇编和调查、有助于您快速使用代码。  https://training.ti.com/control-law-accelerator-cla-hands-workshop

    更多 CLA 常见问题解答和资源、请点击此处 

    此致

    Lori

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

    Lori、

    与我的初始问题一样、所有值都是 AL 32位值。 谢谢、 我了解调试的基本知识。 "不起作用"是 CLA 写入的值与控制器读取的值不同。

    因此、当我使所有这些变量 单独定义并读取这些值时、这些变量是正确的。 但是、如果我用 它们中的一个32位结构为 CLA 进行排列、它就不会。

    Lori 能否将我的问题转发给 George Mock。 因为我认为这是一个 CLA <-> MCU 结构偏移问题。这很奇怪、因为所有32位值都存在。

    谢谢

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

    我确定结构的数据布局相匹配。  但这不是唯一可能的问题。

    C28x 和 CLA 之间共享的全局数据必须在 C28x 代码中定义、而不是在 CLA 代码中定义。 每个设备上数据页的工作方式不匹配。  它在 C28x 方面受到更多的限制。  因此、在 C28x 端定义的数据可以在 CLA 端访问、但不能在另一个方向上访问。

    谢谢、此致、

    乔治