#46 Software Tracing with Binary Protocols

Опубликовано: 01 Январь 1970
на канале: Quantum Leaps, LLC
10,399
159

This lesson explains modern software tracing based on binary protocols instead of ASCII formatting with printf. To focus the discussion, you will see a mature software tracing system called QP-Spy, which is much more suitable for real-time systems than the primitive printf method.

Contents with Timestamps:
-------------------------
1:25 The main problems of printf-style tracing
1:50 Firefighter analogy of printf-style tracing
3:08 General structure of the real-time tracing system
4:02 Introducing QP/Spy as an example of real-time tracing
4:25 Replacing MY_PRINTF with QP-Spy instrumentation
5:58 Adding board-specific code for QP/Spy
7:30 Adding QP/Spy output to the idle callback
8:30 Adding QP/Spy instrumentation in QM model
9:08 Adding QS source code to the spy build configuration
9:53 Excluding the QS group from dbg build configuration
10:50 Obtaining the QSPY host utility to receive the trace
11:43 Launching QSPY and connecting to the embedded target
12:16 Comparing QSPY output to MY_PRINTF() output
13:12 Timing the QSPY execution with a logic analyzer
14:13 Application-specific and pre-defined trace records
14:45 Inversion of control as an opportunity for software tracing
15:02 Event-driven framework as a funnel for system interactions
15:46 Enabling pre-defined trace records for state machines
16:50 Ways of obtaining the symbolic information from the code
17:07 Example: TRICE software tracing system
17:27 Example: Embedded logging with "string_constant" library
18:17 Q-Spy approach of generating symbolic "dictionaries"
19:10 Generating "object dictionaries"
19:28 Generating "signal dictionaries"
19:48 Generating "function dictionaries" (in QM)
20:32 QSPY output with symbolic information from "dictionaries"
20:51 Enabling all pre-defined trace records
21:12 Disabling a specific trace record type
22:08 The QP/Spy data protocol
22:20 Harvesting raw binary data from the embedded target
23:22 Comparision of binary data to formatted trace data
23:58 Detecting errors and gaps in the trace data
24:15 Post-processing binary data in QSPY
24:25 Demonstration of transmission error detection in QSPY
24:45 More features of QP/Spy data protocol
25:17 Benefits for sending data out of the embedded target
26:00 Software tracing as the basis for testing embedded code
26:05 Software tracing as the basis for monitoring devices


End Notes:
----------
Companion web page to this video course
https://www.state-machine.com/video-c...

Project download for this lesson:
https://www.state-machine.com/course/...

GitHub repository for projects for this video course:
https://github.com/QuantumLeaps/moder...

Transcript of this lesson:
https://www.state-machine.com/course/...


References resources:
---------------------
QP/Spy documentation:
https://www.state-machine.com/qtools/...

QTools downloads (contains QSPY host utility):
https://github.com/QuantumLeaps/qtool...

Other software tracing systems mentioned:
TRICE: https://github.com/rokath/trice

Embedded Logging Case Study -CppNow 2022
   • Embedded Logging Case Study: From C to Shi...  


Music credits:
--------------
The background music comes from:
https://www.bensound.com/royalty-free...


На этой странице сайта вы можете посмотреть видео онлайн #46 Software Tracing with Binary Protocols длительностью часов минут секунд в хорошем качестве, которое загрузил пользователь Quantum Leaps, LLC 01 Январь 1970, поделитесь ссылкой с друзьями и знакомыми, на youtube это видео уже посмотрели 10,399 раз и оно понравилось 159 зрителям. Приятного просмотра!