trace32 debugging for risc-v of reset, halt/resume, on-chip triggers, etc asynchronous...

27
Markus Goehrle 2018 / 05 / 08 TRACE32 Debugging for RISC-V

Upload: trinhdang

Post on 27-Jun-2018

235 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

Markus Goehrle2018 / 05 / 08

TRACE32 Debuggingfor RISC-V

Page 2: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

2 / 27

2018 / MAY

Agenda

Introduction to TRACE32

RISC-V Debug and Trace

Debug Scenarios Custom ISA Extensions Standardization

Page 3: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

3 / 27

2018 / MAY

Agenda

Introduction to TRACE32

RISC-V Debug and Trace

Debug Scenarios Custom ISA Extensions Standardization

Page 4: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

4 / 27

2018 / MAY

Introduction to TRACE32: Lauterbach

Lauterbach: Leading manufacturer of microprocessor development tools

Headquarters in Hoehenkirchen, Germany (nearby Munich)

Branch offices in China (3), France,Italy, Japan, Tunisia, UK and USA (2)

Approximately 120 employees worldwide

Page 5: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

5 / 27

2018 / MAY

Introduction to TRACE32: Our Strengths

Technical know-how at highest level HW and SW debug and trace tools is all we do All design, development and manufacture in Munich

Run-control debugging via TRACE32 Debug and development of

(Bare-metal) applications Operating systems Drivers/Bios Chip/board bring-up → debugging from the reset vector

Page 6: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

6 / 27

2018 / MAY

Introduction to TRACE32: Our Strengths

Technical know-how at highest level HW and SW debug and trace tools is all we do All design, development and manufacture in Munich

Run-control debugging via TRACE32

Page 7: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

7 / 27

2018 / MAY

Agenda

Introduction to TRACE32

RISC-V Debug and Trace

Debug Scenarios Custom ISA Extensions Standardization

Page 8: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

8 / 27

2018 / MAY

RISC-V Debug Scenarios

Page 9: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

9 / 27

2018 / MAY

RISC-V Debug Scenarios

Page 10: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

10 / 27

2018 / MAY

RISC-V Debug Scenarios

Support for a variety of external and internal interfaces

Support for interconnections of standarddebug specification v0.13: Debug Transport Modules (DTMs)

Page 11: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

11 / 27

2018 / MAY

RISC-V Debug Scenarios

Page 12: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

12 / 27

2018 / MAY

RISC-V Debug Scenarios

Page 13: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

13 / 27

2018 / MAY

RISC-V Debug Scenarios

RISC-V multicore debugging: Synchronous Multiprocessing (SMP)

Synchronization of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP)

Page 14: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

14 / 27

2018 / MAY

RISC-V Debug Scenarios

TRACE32 Linux Awareness for RISC-V Linux kernel 4.15 brings support for RISC-V

Page 15: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

15 / 27

2018 / MAY

RISC-V Debug Scenarios

TRACE32 Linux Awareness for RISC-V Linux kernel 4.15 brings support for RISC-V

Debug processes, threads, dynamic objects (libraries and kernel modules) View Linux resources:

task and kernel module list addresses of dynamic objects

Page 16: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

16 / 27

2018 / MAY

RISC-V Debug Scenarios

Heterogeneous systems: debug different RV32, RV64 variants and cores of various other core architectures in one session

Page 17: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

17 / 27

2018 / MAY

Agenda

Introduction to TRACE32

RISC-V Debug and Trace

Debug ScenariosCustom ISA Extensions

Standardization

Page 18: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

18 / 27

2018 / MAY

Custom ISA Extensions

Page 19: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

19 / 27

2018 / MAY

Custom ISA Extensions

Customer asks “do you support custom RISC-V extensions?”→ what does “support” mean/affect?

Different integration methods: Direct integration in TRACE32 software “APU” API

Page 20: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

20 / 27

2018 / MAY

Custom ISA Extensions

Direct integration in TRACE32 software

Page 21: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

21 / 27

2018 / MAY

Custom ISA Extensions: APU API

Integration via “APU” (Auxiliary Processing Unit) API

Plugin provided as .dll/.so runtime library

(Dis)assembler for custom instructions provided by user

(Optional) integration of 3rd party software (e.g. own disassembler)

Page 22: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

22 / 27

2018 / MAY

Agenda

Introduction to TRACE32

RISC-V Debug and Trace

Debug Scenarios Custom ISA Extensions

Standardization

Page 23: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

23 / 27

2018 / MAY

Standardization of RISC-V Debug and Trace

Fragmentation of Debug Ecosystem

Page 24: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

24 / 27

2018 / MAY

Standardization of RISC-V Debug and Trace

Fragmentation of Debug Ecosystem

Page 25: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

25 / 27

2018 / MAY

Standardization of RISC-V Debug and Trace

Fragmentation of Debug Ecosystem

Page 26: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

26 / 27

2018 / MAY

Standardization of RISC-V Debug and Trace

Fragmentation of Debug Ecosystem

Result: More development cost and time for custom solutions Fragmentation (unlikely that companies will change an established

debug IP to standard afterwards) Weakened RISC-V ecosystem

Page 27: TRACE32 Debugging for RISC-V of reset, halt/resume, on-chip triggers, etc Asynchronous Multiprocessing (AMP) 14 / 27 2018 / MAY RISC-V Debug Scenarios

Thank you!

2018 / MAY

Markus [email protected]