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.

TM4C129x ROM Boot Loader

Other Parts Discussed in Thread: LMFLASHPROGRAMMER

Hi, Everyone

I need your help

I wanna use ROM Boot Loader on DK-TM4C129X.
I was successful when I try to update after Program boot_demo_uart on Tivawware
with LMFLASHPROGRAMMER

and SPMS444B's BOOTCFG Register discription says

If the EN bit is set or the status doesn't match the specified polarity, the data at address
0x0000.0004 is read, and if the data at this address is 0xFFFF.FFFF, the ROM is mapped to
address 0x0000.0000 and execution continues out of the ROM Boot Loader.

But I erase Flash and try to update with ROM Boot Loder on LMFLASHPROGRAMMER.
But I got error.

I do not why.

I understand Tiva can upadate with ROM boot Loader after Flash wes erase
My undestanding is correct??

Berst Regards
Hiroyasu

  • Hello Hiroyasu,

    The ROM Boot Loader cannot be modified by user. It can be only read/called for execution by the application code.

    Regards
    Amit
  • Hi, Amit

    Thank you for your answer.

    Datasheet 8.2.2 ROM says

    The boot loader is used as an initial program loader
    (when the Flash location 0x0000.0004, thereset vector location is all 1s
    (that is, erased state of Flash)) as well as an application-initiated
    firmware upgrade mechanism(by calling back to the boot loader).

    But you told me  "It can be only read/called for execution by the application code."

    Actually TM4C129x can not update Flash from ROM BootLoader when Flash is erase?
    Datasheet is wrong??

    Regards
    Hiroyasu

  • Hello Hiroyasu,

    That is the ROM Boot Loader. That is different from Flash. The Flash is where the user application can be programmed, read, executed. The ROM is TI's code and "cannot" be modified by the user application.

    As for the data sheet it is absolutely correct. If the ROM Code evaluates the Flash to see if there is any valid application code from the user in the location mentioned. If not then it continues to execute on itself with the Serial Boot Interface being polled.

    Regards
    Amit
  • Hi, Amit

    I understand ROM Boot loader can not modify and
    continues to excute on itself if Flash is erase.

    Thank you!

    and Do you know about how does TM4C129x decide to use interface(UART,SSI...and so on) on ROM Boot Roader
    when Serial Boot Interface being polled ??
    All Interface is active ??

    I do not see pin to decide to boot pin.

    Regards
    Hiroyasu
  • Hello Hiroyasu,

    All protocols use a PING packet to initiate download. This allows the CPU to poll each of the interfaces till the interface indicates it has a packet for the CPU. If the packet is a PING the ROM Code uses the appropriate interface as Boot Loader...

    This is mentioned in the Boot Loader User Guide.

    Regards
    Amit
  • Hi Amit

    Thank you!
    I got it!!

    Best Regards
    Hrioyasu