QEMU Emulation for Infineon AURIX TC39x

QEMU Emulation for Infineon AURIX TC4Dx

Overview

Emulate the Infineon AURIX TriCore architecture under QEMU. Two boards are supported:

  • qemu_tc3x - TC39x SoC (TriCore TC1.6.2P ISA)

  • qemu_tc4x - TC4Dx SoC (TriCore TC1.8P ISA)

Both provide the STM system timer, a polling-mode ASCLIN UART console and the interrupt router.

Hardware

Supported Features

The qemu_tc3x board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
qemu_tc3x/qemu_tc3x target

On-target memory for this board target: 240 KiB of RAM, 3 MiB of Flash.

Type

Location

Description

Compatible

CPU

on-chip

Infineon TriCore CPU1

infineon,tricore

Clock control

on-chip

Generic fixed-rate clock provider1

fixed-clock

Interrupt controller

on-chip

Infineon AURIX Interrupt Router1

infineon,aurix-ir

MTD

on-chip

Flash node1

soc-nv-flash

Serial controller

on-chip

Infineon ASCLIN Uart1

infineon,asclin-uart

Timer

on-chip

AURIX System Timer Module (STM)1

infineon,aurix-stm

Known Problems or Limitations

  • No SMP, AMP or MPU emulation

Programming and Debugging

QEMU Setup

TriCore QEMU is not part of the Zephyr SDK. Use a prebuilt binary from https://github.com/linumiz/qemu-tricore/releases, or build it from source:

git clone https://github.com/linumiz/qemu-tricore.git
cd qemu-tricore
./configure --target-list=tricore-softmmu
make -j$(nproc) && make install

Ensure qemu-system-tricore is on your $PATH.

The qemu_tc3x board supports the runners and associated west commands listed below.

flash debug

Running

Build and run the Hello World sample (use qemu_tc4x for the TC4Dx target):

# From the root of the zephyr repository
west build -b qemu_tc3x samples/hello_world
west build -t run

The console shows:

*** Booting Zephyr OS build ... ***
Hello World! qemu_tc3x/qemu_tc3x

Exit QEMU by pressing CTRL+A x.

Debugging

Refer to the detailed overview about Application Debugging.