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.

[参考译文] TMDSCNCD28388D:在引导加载程序跳转程序指针之后 CPU1发生复位

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1248876/tmdscncd28388d-cpu1-occurs-a-reset-after-bootloader-jump-program-pointer

器件型号:TMDSCNCD28388D

您好、我最近在使用 F28388D controlCARD 时遇到一个问题、听起来可能很荒谬。

我手头有两批 F28388D controlCARD、一批是21年10月左右从经销商那里获得、另一批是23年6月从官方网站获得。

我基于 TI 的 LwIP 框架开发了一个基于 TCP 的引导加载程序(CPU1的闪存存储了引导加载程序、CM 的闪存存储了用于以太网通信的程序)、 一般原则是我的主机将 CPU1应用程序的 Intel Hex 文件发送给 CM、 CM 将十六进制数据放入消息 RAM、然后中断 CPU1以通过 IPC 将十六进制数据复制到指定的烧录地址、最后 CPU1将程序指针跳转到 codestart 段。

在新购买的电路板上测试此程序时遇到问题。 当连接仿真器对其进行测试时、应用程序工作正常、在跳转到应用程序后、应用程序也工作正常。  但当我没有连接仿真器并直接从闪存引导时、就会出现问题、 在跳转到 CPU1的程序指针之后、CPU1将运行一小段时间、然后自行复位。 (我根据测试现象得出的结论是、我的应用会不断向 PC 发送 UDP 数据包、跳到程序指针之后、我通过 Wireshark 捕获了几个 UDP 数据包、 之后、主机再次接收到重置后初始化结束时发送的字符串)。  所有新的控制卡都有这个问题。  

但对于相同的程序、我使用的是10月21日购买的早期电路板、不存在上述问题。

我想向工程师寻求帮助、以解决这个问题。

此致!

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

    两批卡都是 MCU063B、但新卡在 MCU063B 后具有"003"标签。

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

    我更改了几个应用程序进行测试、发现只有我之前提到的一个测试程序会导致异常。 我曾尝试将应用程序的.cinit 段传输到 LSRAM、但跳过程序指针后未继续复位。 但是、我不明白同样存储在 GSRAM 中的带有.cinit 段的其他程序是如何正常工作的。

    最好的房间,

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

    在将.cinit 段更新到 LSRAM 后, 是否能使其正常工作。  

    不确定这两个控制卡( MCU063B 和 MCU063B "003")之间是否有任何通道,将看一下并更新您。

    此致

    西达尔特

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

    在将.cinit 段移到 lsram 后、到目前为止、我已经测试了多个应用程序、这不再是问题!

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

    很高兴它可以工作 、但不知道这会是硬件/板问题。  

    将让您知道、我是否知道在两个版本的控制卡之间可能导致此问题的原因。

    此致

    西达尔特