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.
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://gitlab.com/linumiz/infineon/release/qemu-aurix/-/releases, or build it from source:
git clone https://gitlab.com/linumiz/infineon/release/qemu-aurix.git
cd qemu-aurix
./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.