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.

TM4C1294NCPDT: Some problem of TivaWare™︎ Boot Loader with Ethernet Update for TM4C1294NCPDT

Part Number: TM4C1294NCPDT

Hello, everyone. I have a problem that bothers me a lot. I hope you can help me.

I have a TM4C1294NCPDT development board, firmware upgrade is using Ethernet Update.The TM4C1294NCPDT upgrade program uses the "boot_emac_flash" routine provided by TI and the LM Flash Programmer software provided by TI as the upgrade tool.LM Flash Programmer software as the server side, TM4C1294NCPDT upgrade program as the client.

The entire upgrade process is described as follows:

(1) When the upgrade starts, the client (upgrade program) sends a BOOTP request using broadcast message. When the server (LM Flash Programmer software) receives the request, it will reply, thus informing the client of its IP address, the IP address of the server and the name of the upgrade file. In this case,The BOOTP protocol communication is complete.

(2) Then, use the common file transfer protocol (TFTP) to transfer the upgraded firmware from the server to the client. TFTP transmits UDP/IP packets through the uIP protocol stack for communication between the client and the server.When the client receives each data block, the data block is written to the FLASH of TM4C1294NCPDT. Once all the data blocks are received and written to the flash, TM4C1294NCPDT is reset and the upgraded program starts running after reset.

However, when I upgrade the firmware using LM Flash Programmer, if the upgrade progress is stuck due to network fluctuations (the upgrade progress has not increased for several minutes), after clicking the Abort button, restart TM4C1294NCPDT and find that the program does not work.The IP address of TM4C1294NCPDT could not be found on the LAN.I had to re-upgrade the firmware through the serial port to get it back to normal.The procedure for LM Flash Programmer is as follows

The question now is how to avoid this mistake.Can I determine whether the data is correct after the ethernet upgrade to achieve the following goals?TM4C1294NCPDT will not restart the upgrade if the data is incorrect.If the data is correct TM4C1294NCPDT will restart to run the upgraded firmware.

  • Hi,

    Can I determine whether the data is correct after the ethernet upgrade to achieve the following goals?TM4C1294NCPDT will not restart the upgrade if the data is incorrect.If the data is correct TM4C1294NCPDT will restart to run the upgraded firmware.

    If the upgrade was partially done as in your case, the stack pointer and reset vector are already programmed at 0x0 and 0x4. The boot loader will look at these two locations to determine if it will jump to the application or not. Since these two locations are present, the bootloader will assume the firmware is loaded properly and jump to it. In this case, the application will not run because it was only partially programmed. 

    What you can do is enable CHECK_CRC. Only if the entire firmware is programmed correctly will you have the corresponding CRC. If the CRC failed, then the bootloader will not jump to the application and instead bootloader your firmware again. Please refer to the bootloader user's guide. 

  • Hi,Charles.Thanks for your help.I think it helped me a lot.