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.

[参考译文] TMS570LS3137-EP:以太网引导加载程序映像已发送、但应用程序未执行。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1211996/tms570ls3137-ep-ethernet-bootloader-image-transmitted-but-application-not-executing

器件型号:TMS570LS3137-EP
主题中讨论的其他器件:TMDS570LS31HDKUNIFLASH

尊敬的 TI 支持部门:

我目前正在使用 TMDS570LS31HDK 板中的以太网引导加载程序。

我已经从以下链接下载了示例编码。

tidc817.zip

我已经将以太网引导加载程序代码转储到了微控制器中。 他们已经在这些文件中提供了闪烁的应用程序。我已经通过以太网传输了那个图像文件。 文件已传输并正确执行。 然后、我创建了用于板载 LED 闪烁的应用程序映像 bin 文件。 我发现了几个问题。 (注意:应用程序起始地址0X0002 0000。在下面我已经提到了应用程序文件的链接器文件存储器位置)

外部闪存

VECTORS (X):origin=0x00020000 length=0x00000020
FLASH0 (RX):origin=0x00020020 length=0x0015FFE0
FLASH1 (RX):origin=0x00180000 length=0x00180000
堆栈(RW):origin=0x08000000 length=0x00001500
RAM (RW):origin=0x08001500 length=0x0003EB00

/*用户代码开始(2)*/
/*用户代码结束*/
}

图像通过以太网传输、并且应用程序未执行(led 不闪烁)。在这里、我已将擦除选项用作整个闪存。我已在 UNIFLASH 中看到微控制器的存储器位置并将其与 bin 文件进行比较。我发现该位置显示的数据是相同的。

然后、我将 擦除选项仅更改为必要扇区。 同样、映像文件是通过以太网传输而不执行的。 但在 uniflash 的存储器中找到了数据。

然后、我已经通过 JTAG 加载了应用程序代码。在这里、我已经将擦除选项设置为仅必要扇区。现在、LED 在闪烁。

4.然后,我通过以太网传输图像箱。它被传输,应用程序正在执行(LED 闪烁).(擦除选项:必要的闪存)

再次创建了作为整个闪存的 bin.here 擦除选项。 传输且不执行。

6.有时、当我按下 HDK 板上的复位按钮时。 应用程序代码已完全擦除。

这里,我的问题是,图像容器是使用擦除选项仅必要扇区创建的,并且 整个闪存是相同的数据查看在 HexEdit。

整个闪存和必要扇区的过程或实际发生了什么? 为什么图像仅在必要扇区中执行、而不在整个 Falsh 中执行?

为什么没有以前的应用程序代码时映像不执行? 当它已经是应用程序代码时、映像升级和执行?

为什么应用程序代码出现在存储器位置但未执行?

为什么有时在按下复位按钮应用时出现。 是否已完全擦除代码?

请支持我、

提前感谢。

此致、

阿吉思·库马尔·A·阿尔

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

    尊敬的 Ajith Kumar:

    已开始处理您的问题、我们很快就会回复您。

    --

    谢谢。此致、
    Jagadish。

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

    尊敬的 Ajith Kumar:

    整个闪存和必要扇区的流程或实际情况是什么? 为什么图像仅在必要扇区中执行而不在整个 Falsh 中执行?

    如果我们在编程应用程序时执行整个闪存擦除、则引导加载程序代码也将被擦除;如果引导加载程序被擦除、则不会执行应用程序、因为只能由引导程序调用该应用程序。

    [quote userid="556854" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1211996/tms570ls3137-ep-ethernet-bootloader-image-transmitted-but-application-not-executing 为什么应用程序代码出现在内存位置但不执行?

    如您所说、应用程序编程为 0X0002 0000地址、但在复位后、程序开始从闪存的起始地址执行、即 x0000、因此将首先调用复位处理程序、该复位处理程序将调用引导加载程序代码、而引导加载程序代码应调用应用程序代码。 如果只有没有引导加载程序的应用程序代码、则对执行该代码没有帮助。

    --

    谢谢。此致、
    Jagadish。

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

    Jagadish、您好!

    感谢您的答复。

    我的应用程序代码和引导加载程序代码都存在于控制器中。我要使用以太网通过 TFTPd64软件将现有的应用程序代码替换为控制器的另一个应用映像库。 在这种情况下、传输了映像文件并执行了应用程序。 但问题是在按下已完全擦除复位引脚应用代码后。 按 GIOA7引脚后、仅引导加载程序应等待映像文件。

    另一个问题是我已经将以太网引导加载程序代码转储到了微控制器中。 微控制器没有任何应用代码。 现在我将通过 TFTPD64软件通过以太网发送应用代码。在本例中、映像文件已传输但无法正常工作。

    为什么没有以前的应用程序代码时映像不执行? 当它已经是应用程序代码时、映像升级和执行?

    请支持我、

    谢谢。此致、

    阿吉思·库马尔·A·阿尔

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

    尊敬的 Ajith Kumar:

    您能否共享整个项目一次?我想在结束时对其进行调试?

    --

    此致、
    Jagadish。

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

    Jagadish、您好!

    请找到 以下链接是以太网引导加载程序项目。

    tidc817.zip

    项目是什么、

     \

    谢谢。此致、

    A.Ajith Kumar

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

    尊敬的 Ajith Kumar:

    我对此延迟深表歉意、您还在继续处理这个问题吗?

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

    Jagadish、您好!

    是的、我仍然坚持这个问题。 请支持我。

    谢谢。此致、

    Ajith Kumar.a.

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

    尊敬的 Ajith Kumar:

    请确保遵循我在下面的主题中提到的过程

    (+) RM57L843:引导文件在 CCS 中未打开-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    如果仍然无法正常工作、我将尝试调试代码。

    --

    谢谢。此致、
    Jagadish。