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.

[参考译文] TMS570LS0914:CAN 引导加载程序停留在 while (FAPI_GET_FSM_STATUS!= Fapi_Status_Success);

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/612562/tms570ls0914-can-bootloader-is-stuck-at-while-fapi_get_fsm_status-fapi_status_success

器件型号:TMS570LS0914

您好!

我开始使用 TI 为 TMS570LS0914提供的 CAN 引导加载程序、但我卡在 while 循环中:

while (bytes_ele> 0)

fapi_issueProgrammingCommand ((uint32_t *) dst、
(uint8_t *) src、
(uint32_t)字节、
0、
0、
Fapi_AutoEccGeneration);

while (fapi_check_FSM_ready_busy =fapi_Status_FsmBusy);
while (fapi_get_FSM_status!= fapi_Status_Success);

src += bytes;//size_in_bytes;
dst +=字节;//size_in_bytes;
bytes_elee_ele= bytes;//size_in_bytes;
if (bytes_elsage < 16){
bytes = bytes_eles;

您能帮我解决这个问题吗? 谢谢!

此致、

Keno

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

    您好!

    我检查了反汇编、它看起来不是很好:

    为什么我无法阅读它? 谢谢!

    此致、

    Keno

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

    我还检查了 Fapi_issueProgrammingCommand 函数。 这应该将数据从一个地址复制到另一个地址、对吧? 我检查了它、实际上它不执行它。 谢谢。

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

    我已将您的帖子转发给我们的引导加载程序专家。 他们很快就会回来。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Chuck、

    谢谢!

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

    您好、Keno、

    请在此语句中添加一个断点、并检查 FMSTATUS 寄存器(View->Register->FlashWrapper->FMdlStat)、我想知道该寄存器中的哪个位被置位:

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

    您好 QJ、

    寄存器值为0x00001010。

    谢谢!

    此致、

    Keno

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

    请找到什么? 谢谢!

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

    可以给我一些提示或帮助吗? 这款 CAN 引导加载程序对于我们滞留在这里超过一周的项目来说非常重要。 谢谢!

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

    很抱歉我耽误了时间。 我只是在不同的平台(TMS570LS 和 RM46)上运行引导加载程序、没有问题。 您是否在将数据写入闪存之前擦除闪存? BL_CONFIG.h 中定义了什么系统时钟频率? 您的应用中使用的系统时钟是什么(PLL 输出)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 QJ、

    感谢您的回答。 实际上、我能够找出问题所在、我意外设置了错误的 CLK 频率、因此在正确的频率下引导加载程序正常工作。

    但是、如果我将应用程序与 FreeRTOS 配合使用、应用程序将无法启动。 问题可能是中断矢量、但我还没有找到解决方案。 可以在这方面帮助我吗?



    谢谢!



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

    请打开另一个主题并发布您的新问题(与 FreeRTOS 相关)。 如果您当前的 DCAN 引导加载程序问题已解决、请关闭此主题。 谢谢!