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.

[参考译文] TMS570LS1225:CAN 引导加载程序应用启动出现问题

Guru**** 2480155 points
Other Parts Discussed in Thread: TMS570LS1225

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/695394/tms570ls1225-problem-with-the-can-bootloader-app-startup

器件型号:TMS570LS1225

你好

我们正在使用基于 TMS570LS1225的电源转换器。

我们的应用已经开始,现在我们正在工业化进程中开始工作。

我们需要能够通过 CAN 接口对设备进行编程。

我们根据 SPNA186应用报告开发了 CAN 引导加载程序。

同时、我们开发了 PC 编程工具。

使用此引导加载程序、我们现在可以在应用程序闪存上对应用程序进行编程、但当我们打算跳转到该闪存时、问题就出现了。 正如我们从论坛上的不同帖子中看到的、为了跳转到应用程序、我们强制进行软件复位、并在启动时检测我们是否从软件复位中退出、以便跳转到应用_c_int00例程。

在此例程中、我们删除了对内核初始化例程的不同调用、因为在这些调用上、我们会遇到卡滞(在它们上产生中止中断)。 我们理解这可能是因为这些例程已经在引导加载程序上执行。 我们删除了以下例程:

               _coreInitRegisters_

               _coreInitStackPointer_

               _coreEnableEventBusExport_

               _errata_CORTEXR4_66_

               _errata_CORTEXR4_57_

校验 RAMECC

我们不理解最后一个问题,但为了取得进展,我们也删除了这个问题。

在任何情况下、在调用_TI_auto_init 例程(重新初始化整个程序)时、应用程序都会卡住。 根据我们在该例程中的理解,cinit (初始化变量)已初始化,我们无法跳过它。

您能不能给我们一些关于我们做了什么错的线索?

提前感谢您

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

    很难说跳过(删除)哪个初始化例程步骤以及执行哪个步骤。 除调试逻辑外、软件复位将复位大部分器件。 这意味着器件的所有部分都需要重新初始化、包括 CPU 寄存器(ARM 不保证寄存器内容将通过 CPU 复位被保持)。

    您是否可以为我上传初始化例程、以便更好地了解它并确定问题的原因?

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

    感谢您的回复、我很抱歉我迟到了重播。

    除了您的邮件之外、我们会重新检查代码、发现我们的 PC 下载程序中存在错误。 在某种程度上、我们破坏了发送到电路板的二进制文件。

    在我们解决这个问题后、我们能够引导加载我们的代码、解决任何问题、

    根据您的建议、我们会在引导加载程序(在应用程序中)之后重新执行所有微控制器初始化、而不会出现任何问题。

    再次感谢、