On this page

C

Bootloader flashing instructions for Infineon boards

Bootloader

All Infineon TRAVEO T2G boards require a bootloader. Only the first Arm Cortex-M0+ CPU core is powered up by default. It is the responsibility of this first core to configure and subsequently power up any other CPU cores available in the system. This startup application is referred to as the bootloader. The basic core configuration includes starting up the clocks that drive the target core and configuring a vector table address (VTOR).

Power and reset sequence

When the target CPU is powered up, in general terms, it reads the SP_Main address from offset VTOR+0, and then jumps to address VTOR+4, which is the offset for the exception number 1, called Reset. Other exception handlers are defined in this vector table as well.

The least significant bit of the exception handler address is used to select between the Arm (bit not set) and the Thumb (bit set) instruction sets. The Arm Cortex-M CPUs present on the TRAVEO family supports executing only the Thumb instruction set. It is important that the Reset exception address has the least significant bit set.

As the applications are expected to be already present in the flash memory, there are no dynamic boot images and thus no dedicated boot image format. This means that the coordination between the CPU core performing the configuration and the CPU core being configured must be in full synchronization by design.

Typically, the static address is set using a linker configuration to minimize the number of locations where this address must be defined. This approach is used on Qt Quick Ultralite as default.

Note: VTOR, vector table offset, must have an alignment of at least 128 bytes. Additional device-specific restrictions may apply.

See also

While the bootloader powers up subsequent Arm Cortex-M7 cores, the powering up of the Arm Cortex-M0+ itself on TRAVEO T2G MCUs is explained in the corresponding MCU data sheet chapter "CPU start-up sequence". This behavior is specific to the TRAVEO family.

On the architectural level, the following chapters in the Armv6-M and Armv-7M Architecture Reference Manuals provide more information about the exact system reset behavior, expressed as pseudo-code, and the vector table format.

  • Reset behavior
  • The vector table
  • Exception number definition

Flashing the bootloader

Flashing the bootloader is no different than flashing any of the applications, except for the name of the file. Refer to the flashing instructions chapter for details.

If the flash programming tools are installed either to the their default install locations or found from the system path (PATH), the flash targets are always enabled. This includes the bootloader. Therefore using programming tools at command-line level is not necessary and for an example Qt Creator can be used instead.

When flashing multiple different binary files, check flash memory erase properties. Before the data can be written, utilities erase existing data automatically. Typically, the granularity for the erase sector is larger than the data sector or block to be written. For example, you can write 256 bits on the internal code flash at a time, but the corresponding erase sector size is 32 kilobytes. If the erase sectors overlap in multiple discrete binary files, only the contents from the last written binary are effective.

Bootloader image

The bootloader image is available at bin/bootloaders/cypress/<board>-<platform>_bootloader.elf in the Qt for MCUs install location. If you build Qt Quick Ultralight from sources the bootloader image is placed into the build directory as well.

The following table lists the names of the bootloader images and the corresponding MCUs.

BoardTarget nameBootloader image
TRAVEO T2G CYT3DL (4M)tviic2d4mtviic2d4m-baremetal_bootloader.elf
TRAVEO T2G CYT3DL (4M LITE KIT)tviic2d4mlitetviic2d4mlite-baremetal_bootloader.elf
TRAVEO T2G CYT4DN (6M)tviic2d6mtviic2d6m-baremetal_bootloader.elf
TRAVEO T2G CYT4DN (6M LITE KIT)tviic2d6mlitetviic2d6mlite-baremetal_bootloader.elf or tviic2d6mlite-baremetal_mtb_bootloader.elf (ModusToolbox)
TRAVEO T2G CYT4EN (6M DDR)tviic2d6mddrtviic2d6mddr-baremetal_bootloader.elf

Available under certain Qt licenses.
Find out more.