Documentation/Platforms/TriCore: Difference between revisions

From QEMU
(Add short description what TriCore is)
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Introduction ==
== Introduction ==
TriCore is a unified, 32-bit microcontroller-DSP architecture optimized for real-time embedded systems. It mostly targets gasoline and diesel engine control units (ECUs), applications in hybrid and electric vehicles as well as transmission, active and passive safety and chassis applications. The instruction set architecture (ISA) consists of three types of instruction sets: one microcontroller, one RISCV load-store, and one DSP instruction set -- thus the name TriCore.
TriCore is a unified, 32-bit microcontroller-DSP architecture optimized for real-time embedded systems. It mostly targets gasoline and diesel engine control units (ECUs), applications in hybrid and electric vehicles as well as transmission, active and passive safety and chassis applications. The instruction set architecture (ISA) consists of three types of instruction sets: one microcontroller, one RISC load-store, and one DSP instruction set -- thus the name TriCore.
== Status ==
== Status ==


Line 55: Line 55:
|in development
|in development
|}
|}
== Build Directions ==
  ./configure --target-list=tricore-softmmu && make


== Running a binary ==
== Running a binary ==
Line 61: Line 64:


Please note that there is no real existing TriCore board implemented so far. The suggested testboard only instantiates memory and a CPU, and thus no I/O is possible.  
Please note that there is no real existing TriCore board implemented so far. The suggested testboard only instantiates memory and a CPU, and thus no I/O is possible.  
== Attaching gdb ==
If you use gcc to build your guest binary, make sure you build using the old debug symbols. The flags for gcc are
  -gdwarf-2 -gstrict-dwarf
Now you can start QEMU
  qemu-system-tricore -M tricore_testboard -kernel /path/to/your/binary -s -S
QEMU will halt until you attach with the tricore-gdb
  (gdb) target remote localhost:1234


== Contacts ==
== Contacts ==
Maintainer: Bastian Koppelmann [mailto:kbastian@mail.upb.de kbastian@mail.upb.de]
Maintainer: Bastian Koppelmann [mailto:kbastian@mail.upb.de kbastian@mail.upb.de]

Latest revision as of 08:43, 2 June 2020

Introduction

TriCore is a unified, 32-bit microcontroller-DSP architecture optimized for real-time embedded systems. It mostly targets gasoline and diesel engine control units (ECUs), applications in hybrid and electric vehicles as well as transmission, active and passive safety and chassis applications. The instruction set architecture (ISA) consists of three types of instruction sets: one microcontroller, one RISC load-store, and one DSP instruction set -- thus the name TriCore.

Status

ISA

ISA version CPU FPU MMU
1.3 Complete missing few instructions not implemented
1.3.1 Complete missing few instructions not implemented
1.6 Complete missing few instructions not implemented
1.6.1 Complete missing few instructions not implemented

Machine

Machine Status
tricore_testboard Complete, no real board
TC275 in development


Peripherals

Peripherals Status
Watchdog in development
SCU in development

Build Directions

 ./configure --target-list=tricore-softmmu && make

Running a binary

 qemu-system-tricore -M tricore_testboard -kernel /path/to/your/binary 

Please note that there is no real existing TriCore board implemented so far. The suggested testboard only instantiates memory and a CPU, and thus no I/O is possible.

Attaching gdb

If you use gcc to build your guest binary, make sure you build using the old debug symbols. The flags for gcc are

 -gdwarf-2 -gstrict-dwarf

Now you can start QEMU

 qemu-system-tricore -M tricore_testboard -kernel /path/to/your/binary -s -S

QEMU will halt until you attach with the tricore-gdb

 (gdb) target remote localhost:1234

Contacts

Maintainer: Bastian Koppelmann kbastian@mail.upb.de