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.

LMFlash with ethernet directly

Other Parts Discussed in Thread: TM4C1294NCPDT, EK-TM4C1294XL

Hello,

In my current application in development, I need to upload and burn the firmwares of two TM4C1294NCPDT. 

The first one is going to be connected to the "outside world" by an ethernet port. The second one will only connect to the other processor.

My idea is to use ethernet to write the code to the first chip using the ROM Bootloader ethernet controller and use I2C from the two processors to burn the firmware of the second one.

My doubts are:

1) Is this set-up possible? As for what I've read on this forum and on the LM Flash app note I believe it is.

2) Is the ethernet burning possible using the LM Flash Programmer? I ask this because as far as I know it needs ICDI, which I'm not sure I have without the launchpad.

3) After the software is burnt, can the firmware be uploaded to both processors using a web server built on the first processor and the rom bootloader?

Amitt, I know I have already asked a lot about the firmware upgrades and the App Note helped a lot of my doubts to be solved, but these ones still remain. Thank you for your patience.

  • Hello Leonardo,

    From a hardware point of view what you propose should work. Most of the work is on the firmware that goes on the first device, that is updated over the Ethernet. This firmware should have the capability to update the firmware of the second device over I2C, that is act similar to "LMFlash Programmer".

    You can use "LMFlash Programmer" to program over Etherent. You don't need ICDI. The only problem that I can see is that "LMFlash Programmer" requires the IP address of the device, to program. If the TM4C1294NCPDT is connected to a DHCP server, then the IP address will change. You should some how figure out the IP address of the board. If using a router, then typically you can access the IP addresses of the DHCP clients that are connected to the router. To better understand this issue, try programming any example to EK-TM4C1294XL board using the ROM Bootloader over Etherent.

    The firmware can be developed such that it will run the webserver, that can invoke the ROM Bootloader when requested. We don't have a working example on TM4C, but I believe this is possible. If you go down this route, the first device should be programmer through "LMFlash Programmer" for the very first time.

    Hope this information helps!

    Regards,
    Sai
  • That is just very good.
    The idea is that the first firmware upload will be done in factory, so we can set up a controlled environment with fixed ip adress or at least with access to the router and use the LMFlash Programmer. All the other upgrades to the firmware will be done by user on a web server.

    Thank's a lot for your help.
  • There is one other doubt that just came to my mind:
    The chip is supposed to have a MAC address that is allocated to my company, but if its the first firmware ever buit to it, how do I put my mac address so I can use the Flash Programmer?
  • You can use LMFLash Programmer to write MAC address to User Registers. "MAC Address Mode" in "Other Utilities" tab can be used to write and read MAC address.

    Thanks,
    Sai
  • But the option is only usable when Launchpad is selected. To use Ethernet I must choose Manual Operation (and all the other utilities get disabled).
  • To program MAC address using LMFlash Programmer, ICDI is required. If you don't want to use ICDI, then Flash drivers of TivaWare have APIs that can do the same work.

    Sai
  • Ok, so basicaly I need another form of upload for the first device, then I can use the API to set the MAC and use it the other times.
    Thank you for the answer.