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 |
|
Clock control |
on-chip |
Generic fixed-rate clock provider1 |
|
Interrupt controller |
on-chip |
Infineon AURIX Interrupt Router1 |
|
MTD |
on-chip |
Flash node1 |
|
Serial controller |
on-chip |
Infineon ASCLIN Uart1 |
|
Timer |
on-chip |
AURIX System Timer Module (STM)1 |
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.