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.

Need help on Ethernet bootloader for EK-TM4C1294XL

Other Parts Discussed in Thread: EK-TM4C1294XL, LMFLASHPROGRAMMER

Hi,

My aim is to upgrade the firmware for EK-TM4C1294XL board while its running.

I want to to extent enet_io example. My plan is to create a webpage in which to provide a link to select the .bin file from local machine and than use this .bin file for upgrade. But I am not able to figure out from where to start.  Board will be currently only on local area network.

I seen in one of the post http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/376880/1337869 but I am not able to add the function of ConfigureEnet() and UpdateBOOTP() on my code.

Can anybody help how to achieve this ?

I am using CCSv6 on 64-bit windows 8.

Thanks,

Bhavesh

  • Bhavesh Patel said:
    Can anybody help how to achieve this ?

     Hi are not working the examples of boot demo from enet?

    >>>> boot_demo_emac_flash.c - Ethernet boot loader example application. <<<<

     If not in the board you use refer to DK folder or general examples.

  • Hi Roberto

    I tried with boot_demo_emac_flash example.
    Steps I followed:
    - As using EK board removed the code for LCD, Speaker and other initialization from PinoutSet()
    - Started the code, but its not able to get the IP address. so not able to program from LMFlash Programmer with IP address.

    I also tried with example from e2e.ti.com/.../1260434 . With I am able to get to SoftwareUpdateBegin() function, but after that nothing happens. In this post it is mentioned about TFTP server and bootp server.
    Where to define the TFPT server in code and file name? And what will be TFTP server configuration?

    Any suggestions ?

    Thanks,
    Bhavesh
  • Able to resolve the problem.

    Tried with adding pre-defined symbol as 'TARGET_IS_TM4C129_RA1' which enables the EMAC boot loading to board.

    Also modified UDP callbacks as some of the interrupts were not disabling properly.

    Also currently working when trying to update from the LMFlash Programmer.

    Thanks

    Bhavesh

  • Hi Bhavesh,

    I added symbol 'TARGET_IS_TM4C129_RA1' in my project configuration, but still does not work. When I call SoftwareUpdateBegin(), Ethernet bootloader start, but doesn't get a valid IP, just 0.0.0.0.

    Where is 'UDP callbacks' that you mentioned?
  • Hi Vinicius,

    I assume you have added swupdate.c and bl_config.h in your project. These two files are also required.

    My SoftwareUpdateInit() is there in swupdate.c, there are no modification required in this file. Also added condition if(g_psMagicPacketPCB != NULL) {udp_remove(g_psMagicPacketPCB);} before  g_psMagicPacketPCB = udp_new(); in SoftwareUpdateInit().

    Inside SoftwareUpdateBegin() in swupdate.c, also disable SysTickInt and SysTic both. I found if these two are not disabled than sometimes Update do not begin.

    Thanks,
    Bhavesh

  • Hi Bhavesh,

    Still does not working :( .... Do you use a BOOTP Server that provide a IP address to board?
  • Hi Vinicius,

    I have modified enet_io code to do Upgrade using LMFlashProgrammer.

    In LMFlashProgrammer, you have to Select Manual Configuration and than provide MAC and IP address of the board. Than you can upgrade it.

    Requirement is both TI Board and your PC should be in Intranet connected to same Router. Also I have checked only on Windows system not on Linux or Mac OS.

    Attaching enet_io zip which can help you.

    Thanks,
    Bhavesh

    4520.enet_io.zip

  • Ok, thank you Bhavesh!
  • I'm sorry to ressurect this post.

    Bhavesh, in this case did you get to update the firmware using only the web server created on enet_io sending a bin file or do you have to send the file with the flash programmer?

    I'm just wondering that because if you enter the rom bootloader you should lose the web server support. 

    I actually want exactly to do that, so costumers can update firmwares sent by the company.

  • Hello Leonardo

    Even the ROM for the TM4C129x has the boot loader. So a ROM call of the boot loader would restart the Ethernet BOOTP and TFTP as long as the PC running the LMFlashProgammer and the board are on the same switch.