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.

TM4C123GH6PM: using UART4 instead of UART0 for the bootloader

Part Number: TM4C123GH6PM

The MCU has a build in bootloader located at the ROM area(started with a call of ROM_UpdateUART)

Is it possible to setup that bootloader to use UART4 istead of UART0 for comms?

  • Hi Stefan,

      Please refer to the Bootloader user's guide for detail. To answer your question, the answer is no. ROM bootloader only support UART0.  See below excerpt. 

    The supported ROM boot loader interfaces vary across devices, depending on the peripheral availability
    for each specific device. UART, SSI, and I2C are the most widely supported interfaces across
    devices. USB is an option for any devices that have the USB peripheral present. Ethernet is an
    option for TM4C129x devices that have the Ethernet peripheral present. See the device data sheet
    to determine if USB or Ethernet peripherals are available for a specific device. For UART, I2C,
    and SSI, the ROM boot loader is fixed for UART0, I2C0, and SSI0, respectively. If the application
    requires the use any other instance of the peripheral, then a flash boot loader must be used.
    When the user application is running, it can still invoke the ROM boot loader to force an update
    of the firmware through a chosen interface. The API to invoke the ROM boot loader
    is ROM_UpdateXXX(), where XXX is one of the following: UART, SSI, I2C, USB, or EMAC.
    For example, to download firmware using the UART peripheral, the application calls the
    ROM_UpdateUART() API. These APIs remain limited to the specific ROM boot loader interfaces,
    so for this example, only UART0 can be used. If a different UART channel must be used, a flash
    boot loader can be used instead.