主题中讨论的其他器件:MOTORWARE、 controlSUITE
工具/软件: 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所示