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 build TivaWare bootloader

Other Parts Discussed in Thread: TM4C1294NCPDT, CODECOMPOSER, UNIFLASH, LMFLASHPROGRAMMER, ENERGIA, EK-TM4C1294XL

I have the TivaWare bootloader source files set up for a TM4C1294NCPDT and ethernet update, but I don't know how to build it. Do I exclude the source files of update options (CAN, UART, etc.) that I'm not using? 

Is there perhaps a CodeComposer project template that I can adapt?

  • Unfortunately, I have a week to go before my firmware has to be production-ready for the device I'm working on and I have no time to look that deep into the bootloader. I'm pretty much consigned to the fact that it's not going to work. 

  • Understand the crunch - same biting dogs here yet have bit more time to tame them.

    Noticed the first thing UpdateBootP() does is check the flash size, stores in (g_ui32FlashEnd). Suspecting if defined flash space is to small for the APP to fit into BootP wont read packets into the *puc buffer.

    That makes since now I think back, after recently enabled LWIP debug in the main app it grew from 74k to 95k. Have added a print out of space variable to see where BL believes the end of Flash truly is. Perhaps this is only a defined space issue since we also had to increase flash space in (MyApp_ccs.cmd) before the app would even compile.

        //
        // Get the size of flash.
        //
        g_ui32FlashEnd =  ROM_SysCtlFlashSizeGet();
    
        UARTprintf("<< FlashEnd = >>%i:\n",  g_ui32FlashEnd);
    
    #ifdef FLASH_RSVD_SPACE
    
        g_ui32FlashEnd -= FLASH_RSVD_SPACE;
    
        UARTprintf("<< FlashEnd -ReserveSpace =  >>%i:\n",  g_ui32FlashEnd);
    
        g_ui32FlashEnd = FLASH_PP_SIZE_1MB;
    #endif

     

  • Pardon gang - but 22 Days - 52 "back-forth" what's (really) been (positively) gained/established?

    Should not the "Slaughter Rule" be called/applied - put this distressed thread (finally) to pasture?   (just say'in)

  • Perhaps the UIP gurus can give us both a clue as to why Tiva BootP was working great for months to find the TFTP server on port 69. Mysteriously it seems the BootPThread() will not invoke or return any EMAC receive bytes and may fail to set the OWN bit in the RX descriptor.

    For some reason UIP was set to build (UIP_UDP==1) in the (UIP-conf.h) but not asserting (#if UIP_UDP) in (uip.c) until setting UIP_UDP==1 in (uipopt.h).

    CCS appears to build UDP yet BootP still ain't answering. Wii console is the only thing trying to talk to it. The client is not sending the Tiva server any bytes, client hangs with empty progress bar 0%. Seems as if the EMAC transmitter/receiver are in some kind of latch up.