您好!
对于定制的 TM4C129XNCZAD 板、我实施 了(基于闪存)以太网引导加载程序。
大部分时间都可以正常工作、我可以对新的二进制文件进行编程。 此过程连续执行4或5次、然后在再次尝试时、"EMAC 闪存"引导加载程序卡住、无法传输新的二进制文件。 从调试到查看服务器、我认为引导加载程序停留在很早的阶段、甚至不发送 BOOTP_REQUEST。
然后、我需要对器件进行下电上电、然后引导加载再次正常。
一些详细信息:
在 Code Composer 中进行调试时、我可以看到引导加载程序卡在名为"PacketTransmit"的函数中的 BL_EMAC.c 中。 更详细地说、它卡在这个 while 环路中
while (g_psTxDescriptor[g_ui32TxDescIndex].ui32CtrlStatus & DES0_TX_CTRL_own){}
服务器端(发送魔术包的端)的状态是它从未从 Tiva 获得 BOOTP_REQUEST、因为它尝试继续发送魔术包。
有关如何调试/修复此问题的任何帮助都很好、因为下电上电并不是一个简单的选择。
谢谢、
Robert