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.

[参考译文] TMS320F28069M:偏移模块源文件不在 DRV8301-EVM 上使用、但用于定制 PCB

Guru**** 2589280 points
Other Parts Discussed in Thread: MOTORWARE, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/665446/tms320f28069m-offset-module-source-files-not-used-on-drv8301-evm-but-needed-for-custom-pcb

器件型号:TMS320F28069M
主题中讨论的其他器件:MOTORWAREcontrolSUITE

工具/软件: TI C/C++编译器

您好!

我注意    到尝试在我们具有 F28069M MCU 的定制 PCB 上运行 instaSPIN lab1时出现了一种奇怪的行为(该设计基于 DRV8301-EVM、略有更改)。     在程序开始时,从 HAL_init()内调用了一个 offset_init()函数,但是  offset.c 源文件不包含在编译中。 代码在开发套件上正常运行、但在我们的 PCB 上运行时、进入此函数后调试器跟踪消失! 链接器不会抛出任何错误、因此我假设这些函数被定义为驻留在 MCU 的 ROM 存储器中的某个位置。 将  offset.c 和  filter_fo.c/_so.c 手动添加 到工程可解决该问题。 类似的问题适用于 Lab1b 中的 CTRL_init(),但我在任何地方都找不到这个...

更新:我检查了 MCU 芯   片本身的编号,看起来 controlCARD 使用 f28069mpzt 版本而不是 f28069upzps (如原理图*所示-这就是我们订购的)。 这是函数缺失的原因吗?

我的具体问题是:

1.为什么源文件不用于原始实验项目,即使该代码包含在 motorware 包中?

2.如果函数在 ROM 中很有趣,它们的位置是在哪里定义的? 或许需要调整链接器文件以使用其他位置?

开发套件上使用的 MCU 与我们单独订购的 MCU 有何区别?

4.在切换到定制 PCB 时、我们还能期待什么其他渔获物呢? 我知道 GPIO 移植和  user.h 参数可能存在差异、但不希望需要其他文件...

* controlSUITE 中提供了采用 F28069U-PZPS 而不是 F28069M-PZT 的控制卡原理图,如 https://e2e.ti.com/support/applications/motor_drivers/f/38/t/366344所示 

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

    如果您订购的 C2000器件不以-F 或-M 后缀结尾、则无法运行 InstaSPIN、因为 ROM 不可用。 "M"表示该器件上提供了 FOC 和 MOTION 产品代码;"F"表示只有 FOC 产品代码可用。

    当我们生成器件时、我们使用特定的链接器命令文件将 InstaSPIN ROM 放置在特定的存储器地址。 此链接命令文件不是在 TI 外部提供的。 Motorware 示例中包含的符号库将链接器指向这些存储器地址;因此、它们是静态的、无法更改。

    如果我们在其中一个实验中错过了一些源文件、则可以按您所说的那样添加。 但据我们所知、只有从您选择在定制板上使用的 API 调用这些源代码时、才需要这些源代码。 您是否正在使用自定义项目? 还是将 lab1b/c 与您的定制板配合使用? 我对编译因无法找到源代码而失败的详细信息有点模糊。

    肖恩