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.

[参考译文] TMS320F28375S:引导加载程序跳转问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1518385/tms320f28375s-bootloader-jumping-issue

器件型号:TMS320F28375S
主题: C2000WARE 中讨论的其他器件

工具/软件:

您好、

我目前正在使用引导加载程序开发 TMS320F28375S。

当我尝试引导加载应用程序代码时、有时不会跳转到应用程序、就像转到其他地址一样、我已经给出了组1中2个扇区的地址、即 FLASHE_F

几次操作后、它应该跳转到 FlashG_H。但它会停止跳转。

我已经给出了  

开始:80000

引导代码位于闪存 A 中

有时我认为它会在引导加载几次后持续复位  

可能会出现什么问题?

提前感谢  

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

    您好:

    1.您使用的是什么通信协议(CAN、SCI 等)?

    2.这是自定义引导加载程序还是 C2000Ware SDK 中的示例之一?

    3.该引导加载程序是从闪存运行还是在器件复位后加载到 RAM 中?

    4.是应用程序的 FLASHE_F 中的代码还是引导加载程序的一部分?

    5.您指示引导加载程序跳转到哪个地址?

    6.这个问题是否每次都发生?

    此致、

    Alex

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

    1.我们使用 CAN 协议  

    这是自定义引导加载程序

    3.它首先从闪存复制到 RAM 并运行

    4.闪存 A 专用于引导代码

    闪存 E_F 和 FLASHG_H 是应用程序

    第一次(在使用 dumper 转储时)、代码转储到闪存 E_F 中、我在引导加载后尝试跳转到闪存 G_H  

    该问题在跳转到闪存 G_H 后发生、但它不运行。

    它会持续尝试复位并尝试跳转到闪存 G_H (尽管没有运行)、但会再次复位

    使用 SCI 确认此过程、我发送了几个数据字节、以确认代码流。

    当我看到复位原因寄存器(RESC)时、 它会显示看门狗复位(我们在引导加载后使用该复位)、XRS 状态引脚为高电平。

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

    您好:

    看门狗复位会触发完全的 CPU 复位、因此器件将返回至引导 ROM 并再次进入引导加载程序。

    第一次(使用 dumper 转储时)、代码转储到闪存 E_F

    引导加载程序配置为分支到哪个地址?  FLASHE_F 或 FLASHG_H?

    您可以尝试禁用看门狗吗?

    此致、

    Alex

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

    引导加载程序配置为分支到 FLASHG_H

    我尝试在没有复位的情况下分支到 FLASHG_H (不会触发任何类型的复位)、但即使我手动提供 FLASHG_H 的地址、它也不会进行分支

    正如我之前说的、我使用的是 SCI、

    它会持续尝试复位并尝试跳转到闪存 G_H (尽管没有运行)、但会再次复位。

    输出未更改。

    提前感谢。

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

    您好:

    您是否对引导加载程序和应用代码中的看门狗中断提供服务? 您可能需要在引导加载程序中将其禁用、然后在应用程序中重新启用。

    此致、

    Alex

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

    您好、

    在引导加载程序中启用了看门狗、这样它应该在看门狗复位后返回到引导加载程序主代码、并跳转到应用程序代码并运行应用程序代码。

    因此、我们需要在引导加载程序中启用看门狗复位。

    谢谢

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

    您好:

    第一次(使用 dumper 转储时)、代码转储到闪存 E_F

    您是否将代码刷写到 FLASHE_F 或 FLASHG_H? 您能否提供链接器文件?

    看门狗复位的周期是多久?

    flash G_H (不运行)

    您如何确定它没有运行? 复位前、编程计数器是否会转到 FLASHG_H? 您能逐步执行代码吗?

    此致、

    Alex