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.

Using LM Flash Programmer on a fresh TM4C1294?

Other Parts Discussed in Thread: EK-TM4C1294XL

Hi all, 

According to Zhaohong's reply to my previous question, "After a power-on-reset, CPU starts exection from ROM. If it sees that the flash iserased (the content at flash address 0x4 is 0xffffffff), CPU will enter the ROM bootloader. It will wait for the activities from one of the following ports: EMAC, I2C, SSI, UART, and USB to start bootloading"

I erased 1294 launchpad via CCS->Tools->On Chip Flash->EraseFlash then ran LM Flash program, but neither the ethernet nor serial nor USB could find the 1293 launchpad.

Could anyone be so kind to give me a pointer?

Thanks!

  • Hello David,

    I have used UART as the ROM boot loader on a TM4C129X series and it works. The TM4C129 actually does use the ROM Boot Loader under 2 conditions

    1. If the flash is erased

    2. If the BOOTCFG is programmed to detect the pre-decided GPIO Pin Level and the same has been committed even if the Flash is programmed

    Regards

    Amit

  • Thanks Amit for your reply.


    I believe 1294 is erased, since I didn't see any error message, and I have been using CCS to run program successfully

    I am interested in either the Ethernet or USB (preferable Ethernet) approach, but with a fresh 1294, what MAC and IP can it have (LM Flash programmer needs for such info) ?

    Thanks again for your time!

  • Hello David,

    I believe you are using the EK-TM4C129 Connected LaunchPad (just to be sure we are talking the same board). I would suggest checking the forum for Dexter's write up on Ethernet boot. In the meantime I too will search for the same and post as soon as I find the thread....

    Regards

    Amit

  • Yes, I am using EK-TM4C1294XL.

    If you take a look at my question at http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/363935/1278682.aspx#1278682, I was very skeptical about ethernet bootload on fresh 1294 until Zhaohong said it could be done.

    I am sure it could be done if program was flashed into 1294 first and from there it calls out to various bootloader, but the first Ethernet/USB fresh flash is what I need


    Thanks again

  • Hello David,

    This thread has the information...

    http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/358406.aspx

    Regards

    Amit

  • That thread seems to support my skepticism, that one needs to ADD the proper codes to make ethernet/USB bootloader working


    I still don't see the way to flash to a fresh 1294 via ethernet/USB as suggested by zhaohong

  • Hello David

    Actually the method mentioned is to detect the a Software Update over Ethernet. The Boot Loader still resides in ROM.
    Give me a few days (to get CAN examples out for some of our members) and I would revert to the post

    Regards

    Amit

  • Thanks, I do know the bootloader APIs are in ROM, just don't know how to use it on a fresh one

    I will look forward to your reply.


    Regards,

  • The launchpad does have a default MAC, but I don't think every fresh 1294 come with an unique MAC address, so what is the standard procedure?

    After starting the erased launchpad, I can see some BOOTP activities associated with the default MAC address via WireShark, but I still can't make LM Flash Programmer to connect to it and update its flash, the status "Attempt to connect..." stays forever

  • Hello David

    The launchpad comes with a unique MAC but not the devices when they would be ordered. It is the user responsibility to program the USER RGISTERS0/1 based on how they want the MAC Address allocation

    There is another post running where I just clarified the same.

    I have the issue on my radar and will get back with the resolution steps.

    Regards

    Amit

  • Hi Amit, that's exactly why I was skeptical about ethernet flashing on fresh 1294.


    I was hoping there is a fixed MAC on every 1294 to get ethernet flashing working.


    Anyway, I will look forward to your reply.


    Thanks!

  • Hello David,

    The following post was the latest on the same which we closed and the poster put the steps as well for all our readings.

    http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/377845.aspx

    Regards

    Amit

  • In his last post, he reverted the status "working" to "not working in general"

  • Hello Amit,

        I am using a EK-TM4C1294XL development kit.

        I want to call ROM based usb boot loader from usb_dev_bulk example program.

        After searching i found some sample code in internet.

    void Init_Bootloader(void)
    {
            unsigned int Delay = 0;
            ROM_USBDevDisconnect(0);
            for(Delay = 0; Delay < 100000; Delay++) {}                
            ROM_IntMasterDisable();
            ROM_SysTickIntDisable();
            ROM_SysTickDisable();    
            HWREG(NVIC_DIS0) = 0xffffffff;
            HWREG(NVIC_DIS1) = 0xffffffff;
            HWREG(NVIC_DIS2) = 0xffffffff;
            HWREG(NVIC_DIS3) = 0xffffffff;
            HWREG(NVIC_DIS4) = 0xffffffff;                        
            ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0);
            ROM_SysCtlPeripheralReset(SYSCTL_PERIPH_USB0);
            SysCtlUSBPLLEnable();                        
            for(Delay = 0; Delay < 1000000; Delay++) {}            
            ROM_IntMasterEnable();
            ROM_UpdateUSB(0);    
            while(1){}
    }


    This function should force the device to ROM boot loader.

    This works fine with TM4C123GXL launchpad.

    But it is not working with EK-TM4C1294XL development kit.

    I need some help to solve this issue.

    Regards,

    Arun.

  • Hi,

    One more point which i noticed is that once it comes to the above mentioned boot loader module (Init_Bootloader), the device goes to fault ISR exception while executing the function ROM_USBDevDisconnect(0);

    Regards,
    Arun
  • Hello All,

    Any comments on this point..?

    Regards,
    Arun
  • If the BOOTCFG is programmed to detect the pre-decided GPIO Pin Level and the same has been committed even if the Flash is programmed

    I have the same issue: how I can program BOOTCFG ?
    can you supply more detailed ?
    thx