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.

[参考译文] LAUNCHXL-F28P65X:在存储器中传递/返回双精度类型、而之前的文件在 FPU64 寄存器中传递它们

Guru**** 2821695 points

Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1600247/launchxl-f28p65x-passes-returns-double-types-in-memory-while-previous-files-pass-them-in-fpu64-registers

器件型号: LAUNCHXL-F28P65X
Thread 中讨论的其他器件: SysConfigC2000WARE

尊敬的团队:

我正在处理移植 universal_motorcontrol_lab_f28p65x  而不是  基于 SysConfig 的空 CPU1 工程  指定  F28P65x
当前状态:
  • 并 Board_init() 正常运行
  • 已完成 HAL 层和 ISR 映射
  • 工程已成功构建到电机用户层
然而、在链接期间、我面临与估计器库相关的以下错误:
错误#16041-D:
文件“...\libraries\observers\est_lib\fast_full_lib_eabi.lib “
在存储器中传递/返回 double 类型、而之前的文件在 FPU64 寄存器中传递它们
观察结果:
  • 错误指示有  FPU64 与非 FPU64 对象之间的 ABI 不匹配
  • 所涉及的库 fast_full_lib_eabi.lib 位于下  libraries/observers/est_lib
  •  fast_full.lib安装的 SDK 版本 () 中不存在快速二进制库(例如) C2000Ware_MotorControl_SDK_5.00 / 5.02 / 5.04
  • 指定  F28P65x 、UMC 似乎依赖它  系统方程  FAST /InstaSPIN
我的问题:
  1.  fast_full_lib_eabi.lib 进行链接  FPU64 ABI  F28P65x 上的工程?
  2.  est_lib 与 UMC 一起使用时是否需要特定的编译器或链接器设置?
  3. 对于 F28P65x 上基于 SysConfig 的全新 UMC 工程、是否有建议的方法 est_lib 来包含或排除以避免 ABI 冲突?

 

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

    编号 这仅用于 FPU32。

     est_lib 与 UMC 一起使用时是否需要特定的编译器或链接器设置?

    最好在工程属性中将“--float_support"设置“设置为“fpu32"。“。

    对于 F28P65x 上基于 SysConfig 的全新 UMC 项目、是否有建议的方法可以包含或排除 est_lib 以避免 ABI 冲突?

    如果您不需要使用 InstaSPIN-FOC、可以排除 est 库。 您可以参阅电机控制 SDK 中的示例、如下所示、这是一个基于 F28P65x 的电机控制示例。

    C:\ti\c2000\C2000Control_SDK_5_04_00_00\solutions\universal_servo_drive Ware_Motor