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.

How to update firmware in TM4C129EXL through Ethernet??

Other Parts Discussed in Thread: TM4C129ENCPDT, EK-TM4C129EXL, SW-TM4C

Hello,

How can i update firmware in TM4C129ENCPDT MCu through Ethernet??

Is it possible??

Regards

Vidisha

  • If you want to use the ROM Bootloader, then first get the IP address that is assigned to the board (this can be figured out by running enet_lwip or similar example first). Next erase the flash of the MCU (you can use "LM Flash Programmer"). Then use "LM Flash Programmer" to program any example from TivaWare (like blinky). Do not use the examples that starts with boot_ (these are for flash based bootloader).

    Use the "Help" option of  "LM Flash Programmer" for instructions on how to program an application using Ethernet.

    If you want to use Flash based bootloader, then the flash based bootloader for EMAC is present in the folder "./examples/boards/dk-tm4c129x/boot_emac_flash". Program this binary using JTAG. Then follow the above steps to program an application using Ethernet. Applications need to be built specifically to work with Flash based bootloader. These application can be found in the folder "./examples/boards/dk-tm4c129x/". Use the examples "boot_demo_emac_flash" and "boot_demo_flash".

    Thanks,

    Sai

  • Hi,

    Thanks for replying!!!

    Do i need to program Boot loader every time ? or will it stay in Flash permanently?

    Actually i want a Boot loader which runs upon some mechanism like pressing a "Reset button"  then it must allow us to update our application code.

    Then follow the above steps to program an application using Ethernet ??

    You mean every time i must erase the Flash and program the new application code?

    Thanks & Regards

    vidisha

  • The whole purpose of a bootloader is so that it can be programmed once, and then using this bootloader, the application can be updated whenever necessary.

    So program the Flash based bootloader once (using JTAG) then using this bootloader, program the application when ever needed.

    To program the application (using the bootloader over Ethernet), you will need the IP address of the board. You can get this information by

    • accessing the router's web page
    • by programming another application that can provide the IP address (example enet_lwip)

    Hope this time I did a better job at explaining.

    Thanks,

    Sai

  • HI,

    Thanks for clear explanation..

    i could program the bootloader successfully but the application code boot_demo_emac_flash  is not working...

    what could be the reason?

     

    Regards

    vidisha

  • Hello Vidisha,

    I am not sure how I can answer that question without more details of what you mean by "not working".

    Please describe the steps that were followed to program the "boot_demo_emac_flash".

    If you believe that you have configured the "LM Flash Programmer" correctly (to program "boot_demo_emac_flash" over Ethernet), then try to capture the communication between the PC and the board using Wireshark and post that information here so that we can see why the board is not able to communicate.

    Thanks,
    Sai
  • Hello sai,

    ok sorry for not being clear..

    As said my board is TM4C129EXL which has TM4C129ENCPDT MCU but i couldn't find  ethernet bootloader code for this device so,

    I got the codes from Git hub for DK-TM4C129X  which  has TM4C129XNCZAD MCU.

    I know there is a difference between Ek-TM4C129EXL & DK-TM4C129X  so even i changed the make file to work with my device, but no output.

    https://github.com/yuvadm/tiva-c/tree/master/boards/dk-tm4c129x/boot_emac_flash

    Then i uploaded boot_emac_flash into my device using LM Flash programmer.

    It showed me successfully programmed - 4,440 bytes.

    Then i tried to load the example code  "boot_demo_emac_flash" which is again for  DK-TM4C129X which has LCD screen and my board doesn't hav LCD screen.

    so first thing i want to know why only few codes work with ethernet bootloader like boot_demo_emac_flash? why not Blinky?

    github.com/.../boot_demo_emac_flash

    so i tried with Blinky project as my board doesn't hav LCD screen and after uploading the example code it shows "attempting to connect" for long  time which means the code is not correct..

    so plz guide me where i am going wrong.

    Regards

    Vidisha


  • Hello Vidisha,

    I am not sure why you are using the code from the Github. That code is not from TI. It might be a copy of a TivaWare example, that might have been modified.

    I would recommend downloading and using TivaWare from www.ti.com/tool/sw-tm4c.

    I have programmed the Ethernet bootloader present in the "./examples/boards/dk-tm4c129x/boot_emac_flash" onto a EK-TM4C129EXL board, without any changes, using "LM FLASH Programmer" over the ICDI interface. Then I programmed a binary file using this bootloader through "LM Flash Programmer's" (You will need the MAC address and IP address of the board). Note that this binary won't run, and would generate a fault, because it was not built to run with the Ethernet bootloader but it demonstrates that the Ethernet bootloader for the DK-TM4C129X board (in TivaWare) will work with the EK-TM4C129EXL board without any change. 

    You will have to modify the examples in the folder "./examples/boards/dk-tm4c129x/boot_demo_flash" and "./examples/boards/dk-tm4c129x/boot_demo_emac_flash" to work with EK-TM4C129EXL.

    I would also recommend reading the TivaWare Boot Loader User's Guide before modifying the application code that works with the Flash based bootloader.

    Thanks,

    Sai

  • Hi sai,

    Can you tell me what modifications are to done to Application code i.e boot_demo_emac_flash inorder to make it work with EK-TM4C129EXL ?

    Do you have the modified application code for EK-TM4C129EXL.?

    If yes plz send me na meanwhile i'll also try to modify it.

    Thanks

    vidisha

  • Hello vidz,
    Can you make it work? I am having the same issue and this ethernet-based fw upgrade is a bit new to me... I would like to do is totally the same as you are doing, update the firmware of the EK-TM4C129EXL overt the ethernet. Do you have a sample code for Blinky? :)