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.

TM4C123BH6ZRB: Using BootLoader in ROM -> How to select the interface (UART0 / SSI0 /I²C / USB) and Baud rate?

Hi!

I want to use the internal ROM-BootLoader after configuring Pin in BOOTCFG register.

When the TIVA starts up in BootLoader-Mode, I can't see any reaction on the UART interface after sending a ping command.

Which interface expects data ? Is UART0 the default interface? How can I choose between UART / SSI / I²C / USB ??

And what about the baudRate?

In BootLoader-Manual I can see how to select my interface via #define, but I don't want to load my own code at the beginning of the flash.

I just want to use the ROM BootLoader via SPI or UART.

Maybe someone could help me.

Thanks in advance.

Best regards,

Tobias

  • Hello Tobias,

    The ROM Boot Loader polls the interfaces for an activity. On seeing an activity it switches to the corresponding interface. Did you try periodic PING on the UART and see that it responds with an ACK?

    Regards
    Amit
  • Hi Amit,

    thanks for your help.

    I still can't see any response. Which UART configuration do I need?

    The UART-Interface which pings to the bootloader is configured as followed:

    ClockRate: 80MHz  

    BaudRate: 11250

    NumberOfDataBits: 8

    NumberOFStoppBits: 1

    NoParityBit

    Do I need other configurations on UART-sender?

     

    Regards,

    Tobias

  • Sorry, BaudRate is 115200, LSB first
  • Hello Tobias,

    The configuration is correct. Is the other side (sender) also a TM4C or a PC application?

    Regards
    Amit
  • As always - good (test/verified) "board to board ground connection" often helps...

    Also wise to "insure via scope" that remote "ping" has truly (really) arrived...
  • Hi Amit,

    thanks. The board ground connection is ok.

    Meanwhile I tried to ping the BootLoader on the UART 0 interface by USB2serial adapter and from another TM4C also.

    On bus and scope I didn't see any response.

    Now I tried to ping via SPI 0 by another TM4C. Here I can see some response on scope and in program, but I'm not sure about the meaning.

    After sending the Ping-Command (0x20) every 2 seconds, the SPI-response changes between 0x20, 0x3EA, 0x3EB and 0x3EC (loop).

    I can't find any description besides the BootLoader User's guide for FLASH where the commands are described (ACK = 0xCC, NACK = 0x33).

    Do you know the meaning of my return values? (SPI clock = 6 MHz, Format = Motorola format with SPH and SPO set to 1 ).

    Thanks in advance,

    Tobias

  • I found some description in "ROM USER’S GUIDE" and corrected the SPI clock rate down to 1 MHz, but the answers after ping command are still 0x20, 0x3EA, 0x3EB and 0x3EC, 0x20, 0x3EA, 0x3EB and 0x3EC,...(loop)!
  • Hello Tobias,

    The same routine of sending a PING on UART0 would also work.

    Regards
    Amit