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.

[参考译文] DRV8316REVM:将通用电机控制项目从 F280025C 迁移到 F280049C 时遇到问题

Guru**** 2478925 points
Other Parts Discussed in Thread: DRV8316, TMS320F280025C, TMS320F280049C, C2000WARE, SFRA

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1223397/drv8316revm-facing-problems-with-migrating-universal-motor-control-project-from-f280025c-to-f280049c

器件型号:DRV8316REVM
主题中讨论的其他器件:DRV8316TMS320F280025CTMS320F280049CC2000WARESFRA

嗨、团队!

我们一直在开发电机控制并使用 LaunchXL - F280049C 和 DRV8316上的 InstaSpin 运动库添加 FOC FW 和 MTPS 等功能、但一直没有找到有关如何为其开发源代码的支持或适当的文档、 目前、我们一直在使用本通用电机控制项目手册、并按照以下步骤使用定制板、因为我们无法通过 LaunchXL F280049c 找到任何预先编写的 DRV8316示例、所以我们采用了 F280025c 的示例、然后尝试进行 针对 F280049c 进行迁移。 但这样做运气不佳、甚至会为我们生成更多编译错误、我们也对项目配置进行了以下更改。

  1. 通过双击项目文件夹中的.ccxml 文件来更改电路板和器件类型
      
  2. 将.ccxml 文件重命名为处理器从 TMS320F280025C 到 TMS320F280049C
  3. 根据 f280049c 的引脚映射更改了引脚配置
  4. 我们甚至可以更改工程的编译配置

这些是我们遇到的错误。

 

我们认为这些错误是因为 src_device 中的文件用于 f28002x、但我们需要用于 f28004x 的文件、您能不能帮助我们了解如何以及在何处获取特定控制器的器件文件。


谢谢  
Shlok Desai  

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

    尊敬的 Shlok:

    这些错误肯定是由于未正确包含 F28004x 的文件造成的。 在导入之前、您是否按照流程编辑.projectspec 文件? 需要完成包含 F28004x 器件文件的正确步骤。

    我之前已在 C2000Ware_MotorControl_SDK_4_01_00_00中将 F28002x 工程转换为 F28004x 器件。 您可以下载这些文件并将其放置在下面的目录中、然后尝试改用此项目。 它也可用于 MCSDK v4_02。

    C:\ti\cc2000\C2000Ware_MotorControl_SDK_4_01_00_00\solutions\universal_motorcontrol_lab

    e2e.ti.com/.../f28004x.zip

    此致!

    Kevin 老师

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

    嗨、Kevin:

    感谢您的帮助。

    您在导入前是否按照步骤编辑.projectspec 文件? 需要完成包含 F28004x 器件文件的正确步骤。

    上次我想我们遵循了错误的移植步骤、没有更改.projectspec 文件、但在您提出建议并严格遵循文档中的步骤后、我认为我们稍微提前了一点、仍然没有解决问题、 为了避免您混淆以前的屏幕截图和此回复中添加的内容、我们更改了项目名称。  

    现在弹出这些新的链接器问题、表明将 driverlib.lib 文件解析为 driverlib_eabi.lib 文件时出现问题、并且无法找到 driverlib_eabi.lib 文件。

    根据我的理解(处于初步的水平)、我认为 driverlib.lib 在"src_device>driverlib>"内构建所有.C 文件 、项目会遇到无法找到/解析 ADC_setVREF、CMPSS_configFilterHigh、CMPSS_configLow、CPUTimer_setEmulationMode 等的符号的问题、从而导致此错误 (如果我的理解有误、请更正我):


    错误#10234-D:未解析的符号仍存在
    错误#10010:链接过程中遇到错误;未构建"foret2_f28004x.out"

    在网上浏览网页以获知此错误代码 、我们从 TI 得知此连接器错误的文档并尝试执行故障排除步骤、但此操作并未奏效。

    为了让您深入了解这个问题、我将随附我们的项目 zip 文件、 我们使用 DRV8316R 作为电机驱动器、因此您可能必须将构建配置更改为 Flash_Lib_DRV8316RT_3Sc、因为在压缩或发送 C 文件时、我们观察到工程会移回默认的 DRV 8323RS。  

    e2e.ti.com/.../attempt2_5F00_f28004x.zip

     如果您希望最终复制工程以检查可能出现的问题、下面列出了工程属性中的所有预定义符号:  
    ${COM_TI_MOTOR_CONTROL_C2000WARE_SDK_software_package_symbols}
    内联_inline
    闪烁
    _ F28004x 中
    _FULL_FAST_LIB
    BSXL8316RT_REVA
    MOTOR1_FAST
    MOTOR1_eSMO_N
    MOTOR1_ENC_N
    MOTOR1_HALL
    HALL_CAL
    MOTOR1_OVM_N
    MOTOR1_FWC
    MOTOR1_MTPA
    MOTOR1_SSIPD_N
    MOTOR1_VOLRECT_N
    DATALOGF2_EN_N
    DAC128S_ENABLE_N
    DAC128S_SPIB_N
    CPUTIME_ENABLE_N
    TEST_ENABLE_N
    SFRA_ENABLE_N
    STEP_RP_EN_N
    CMD_POT_EN_N
    CMD_CAP_EN_N
    CMD_SWITCH_EN_N
    CMD_CAN_EN_N

     目前、我们正在使用 C2000Ware_MotorControl_SDK_4_02_01_00。  

     我们将非常感激如果你能帮助我们解决这个问题.

    谢谢
    Shlok Desai  

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

    尊敬的 Shlok:

    我认为这些最新的错误可能与下面的警告有关。 您能否尝试确保"driverlib_eabi.lib"用于 DriverLib 函数。

    根据我的理解(处于初步级别),我认为 driverlib.lib 在"src_device> driverlib>"内构建所有.C 文件,这就是项目遇到无法找到/解析 ADC_setVREF、CMPSS_configFilterHigh 、CMPSS_configFilterHigh 的符号的问题。 CPUTimer_setEmulationMode 等导致此错误(如果我的理解错误、请更正 ME):

    关闭、只是函数全部在.lib 文件中按编译。 driverlib 文件夹中的源文件似乎被排除、而是使用.lib 作为源文件。

    此致!

    Kevin 老师

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

    Kevin 老师好!

    代码现在运行良好、对于我们在链接 driverlib_eabi.lib 文件或不链接时遇到类似问题的任何人(若要进行检查、可以查看项目目录中的 make 文件) 然后必须在 C2000链接器中更改工程属性()、以便   在链接所需的特定路径中搜索库文件、 不知道为什么默认情况下该项目未包含在示例项目中、但这很好、因为我们为 f280049c 移植了该项目、我们会附加一个该项目的屏幕截图。

    此更改后代码没有链接器问题、感谢 的故障排除步骤和您提供的所有帮助。


    此致!

    Shlok