Jump to content
Sign in to follow this  
michanisani

TM4c1294 - Program over Ethernet

Recommended Posts

1.

Run program eflash.exe with the following parameters:

This program downloads a file to a remote device, using the Ethernet Boot Loader.

Open windows CMD

eflash -i <IP address>  -m <MAC address>  <file_to_program.bin>

 

IP address foirmat: XXX.XXX.XXX.XXX

MAC address format example: 00.1A.B6.03.0F.0C

 

2.

Jump in your TM4C1294 board to the boot loader

 

void UpgradeSoftware(void)
    {
 
 uint32_t *Reg_OPA_REG_1;
 
    // Disable all processor interrupts.  Instead of disabling them
    // one at a time (and possibly missing an interrupt if new sources
    // are added), a direct write to NVIC is done to disable all
    // peripheral interrupts.
    HWREG(NVIC_DIS0) = 0xffffffff;
    HWREG(NVIC_DIS1) = 0xffffffff;
    HWREG(NVIC_DIS2) = 0xffffffff;
    HWREG(NVIC_DIS3) = 0xffffffff;
    HWREG(NVIC_DIS4) = 0xffffffff;
 
    // Also disable the SysTick interrupt.
    SysTickIntDisable();
    SysTickDisable();
 
 
    // Return control to the boot loader.  This is a call to the SVC
    // handler in the flashed-based boot loader, or to the ROM if configured.
 
    ROM_UpdateEMAC(g_ui32SysClock);
 
    }
 
3.
How to find your board MAC address

Using LM Flash programmer connected to USB port of CPU card

 

Or

 

void read_mac_address()
  {
    uint32_t ui32User0, ui32User1;
    uint8_t pui8MAC[6];
 
    // Get the MAC address from the user registers.
    MAP_FlashUserGet(&ui32User0, &ui32User1);
    // Convert the 24/24 split MAC address from NV ram into a 32/16 split MAC
    // address needed to program the hardware registers, then program the MAC
    // address into the Ethernet Controller registers.
    pui8MAC[0] = ((ui32User0 >>  0) & 0xff);
    pui8MAC[1] = ((ui32User0 >>  8) & 0xff);
    pui8MAC[2] = ((ui32User0 >> 16) & 0xff);
    pui8MAC[3] = ((ui32User1 >>  0) & 0xff);
    pui8MAC[4] = ((ui32User1 >>  8) & 0xff);
    pui8MAC[5] = ((ui32User1 >> 16) & 0xff);
 
    sprintf(Str, "MAC address= %02x-%02x-%02x-%02x-%02x-%02x\n",pui8MAC[0],pui8MAC[1],pui8MAC[2],pui8MAC[3],pui8MAC[4],pui8MAC[5]);
    UARTprintf(Str);
  }
 

 

 

 

4.

https://github.com/kroesche/stellaris_eflash

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bootp_server.c

bootp_server.h

eflash.c

eflash.h

SW_update by Enternet.rar

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×