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.

[参考译文] TMS320F28027F:运行 instaspin 时出现问题 focsproj_lab01

Guru**** 2595800 points
Other Parts Discussed in Thread: MOTORWARE, LAUNCHXL-F28027F, LAUNCHXL-F28027

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/669335/tms320f28027f-issues-while-running-instaspin-foc-proj_lab01

器件型号:TMS320F28027F
主题中讨论的其他器件:MOTORWARELAUNCHXL-F28027FLAUNCHXL-F28027

大家好、

我正在尝试在 C2000 LaunchPad XL 中运行 proj_lab01 (instaspin_foc\boards\boostxldrv8301_revB\f28x\f2802xF\projects\ccs\proj_lab01)。 在 hal.c 中执行 offset_init 函数时、应用挂起

 //初始化电流偏移估算器句柄
 for (cnnt=0;<USER_NUM_CURRENT_SENSORS;cnt++)
   {
     obj->offsetHandle_i[cnt]= offset_init (&obj->offset_i[cnt]、sizeof (obj->offset_i[cnt]));
   }

offset.c 和 filter_fo.c 未添加到工程中。 我添加了它们、现在 offset_init 起作用。 但它再次在 HAL_setParams 中挂起

 _iq beta_lp_pu =_iq (pUserParams->offsetPole_rps/(float_t) pUserParams->ctrlFreq_Hz);

在进一步分析时、我发现任何浮点运算都会使应用挂起。 (我通过在启动时在 main.c 中执行一些浮点操作来确认)

我有一些旧版应用程序可以正常工作。 仅在 instaspin - foclab 示例中出现问题。

注意:我使用的 CCS 版本:7.3.0、C2000编译器 TIv16.9.7、motorware_1_01_00_18

谢谢、

Prakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你是对的。 未使用 offsetHandle_I/V 和 filterHandle 来定义 offset_init()和初始化 offsetHandle_I/V。 请您自己在该项目中添加此 offset.c。 其他项目没有这个问题、您可以继续、谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yanming、

    感谢您的回答。

    我添加了缺失的文件。 我想知道工程是如何编译的、但没有给出任何链接器错误。 此外、当浮点算术运算完成时、我仍然面临崩溃。 我在不同的驱动器 C:\ti\ccsv6和 E:\ti\motorware 中安装了 CCS 和 Motoware。 这可能是个问题吗? 我想项目设置中有问题。

    谢谢、

    Prakash

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

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

    未显示错误。 我在 HAL_setParams 中设置了一个断点。 但控制无法到达那里。 我猜在执行 _iq beta_lp_pu =_iq (pUserParams->offsetPole_rps/(float_t) pUserParams->ctrlFreq_Hz)时它会挂起;
    当应用程序崩溃时、请找到所附的 CCS 屏幕截图。

    谢谢、

    Prakash

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

    执行库的链接顺序后、我可以运行 proj_lab01、如下所示:

    rts2800_ml.lib
    2802xRevB_Fast_IQ_ROMSymbols.lib
    2802xRevB_Fast_only_ROMSymbols.lib
    2802xRevB_Fast_rts_ROMSymbols.lib
    fast_public.lib
    IQMath.lib

    但是、现在我在运行 proj_lab01b 时遇到另一个问题。 在执行以下行时、我获取 PI_illegalIsr
    ctrlHandle = CTRL_initCtrl (estNumber、&ctrl、sizeof (ctrl));//v1p7格式默认值
    我在 Ubuntu 上使用最新的 CCS 和 Motoware。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    原始 motorware 中 proj_lba01.c 中没有此行代码。 如果要执行此操作、需要在项目中添加 ctrl.c。 如果您想进行更多测试、请继续执行下一个实验项目。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答 Yanming。

    我使用旧的 launchpad LAUNCHXL-F28027进行测试、该板在 ROM 中没有快速库。 我认为这就是获得非法 ISR 异常的原因。 我已订购 LAUNCHXL-F28027F。 我希望它在支持 instaspin 的新 launchpad 中能够正常工作。 如果我仍然面临新 Launchpad 的问题、我将打开另一个线程。

    谢谢大家!