This Technical Note (TN) shows how to integrate [https://code.visualstudio.com/ Visual Studio Code (VSC)] and [https://www.lauterbach.com/ Lauterbach PowerView TRACE32 (PVT32)]. The integration aims to:
*Debug the program in VSC by using PVT32 as a communication bridge with the target
*Jump from PVT32 to VSC (in editing mode) to edit the source file where an issue/bug was found.
==Testbed==
To test the procedure, the same testbed described [[BELK-TN-007:_FreeRTOS_on_single-core_Bora_Lite_SoM|here]] was used. Therefore, the application used to validate the procedure is <code>freertos_hello_world</code>.
With regard to VSC, the following version was used:
<pre>
Version: 1.41.1 (system setup)
Commit: 26076a4de974ead31f97692a0d32f90d735645c0
Date: 2019-12-18T14:58:56.166Z
Electron: 6.1.5
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Windows_NT x64 6.1.7601
</pre>
==Integrating VSC e PVT32==
===Debugging in VSC by using PVT32 as a communication bridge===
*After opening VSC from the root directory of the <code>freertos_hello_world</code> project, install the ''Native Debug'' extension.
*Then, create a <code>launch.json</code> file by selecting ''Debug->Add Configuration->GDB''. The file should look like this:
<syntaxhighlight lang="text">
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
*Edit the PVT32's configuration file (usually named <code>config.t32</code>) and add the following lines:
<syntaxhighlight lang="text">
; Remote Control Access
GDB=NETASSIST
PORT=30000
PROTOCOL=TCP
</syntaxhighlight>
*Run PVT32 and start a debugging session (see for instance [[BELK-TN-007:_FreeRTOS_on_single-core_Bora_Lite_SoM#Running_the_application|this section]]).
[[File:BoraLite-VSC1.png|thumb|center|600px|Debugging session started on PVT32 side]]
*On VSC side, start a debugging session by pressing F5. VSC will start a debug session that is synchronized with PVT32 as shown in the following image. So you can set breakpoints, steb-by-step execute the code, etc. on VSC side, but the actual operations will be done on the target by PVT32.
[[File:BoraLite-VSC2.png|thumb|center|600px|Visual Studio Code and PowerView TRACE32 synchornization during a debugging session]]
===Jumping from PVT32 to VSC to edit source files===
To enable this functionality, add the following lines to the PRACTICE script used to initialize the debugging session: