Hello!
For a custom TM4C129XNCZAD board I have implemented a (flash based) ethernet bootloader.
Things work out fine for most of the time and I can program a new binary just fine. This process works out around 4 or 5 times in a row and then when trying again the "emac flash" bootloader is stuck and no new binary can be transferred. From debugging and looking at the server I think the bootloader is stuck in some very early stage and does not even send a BOOTP_Request.
I then need to power cycle the device and then bootloading works fine again.
some details:
when debugging in Code Composer I can see that the bootloader is stuck in bl_emac.c in a function called "PacketTransmit". in more detail, it is stuck in this while loop
while(g_psTxDescriptor[g_ui32TxDescIndex].ui32CtrlStatus & DES0_TX_CTRL_OWN) {}
The status on the server side (the side sending the magic packet) is that it never got a BOOTP_Request from the tiva since it tries to keep sending the magic packet.
Any help on how to debug / fix this issue would be great since power cycling is not an easy option.
Thanks,
Robert