You can use instrumented debugging with LabVIEW to communicate with an embedded application running on an embedded target to provide front panel connectivity, probes, and block diagram breakpoints.
Instrumented debugging occurs through synchronization and data-transfer routines in the generated C code of an embedded VI. These routines use an underlying communication layer. If you are using serial or TCP communication, you do not have to implement this communication layer. Instead, you can use the existing communication layer the Microprocessor SDK example targets use. If you are using a communication protocol other than serial or TCP, you must implement your own communication layer.
If you are using serial communication, your LEP_x_Connect.vi and LEP_x_Debug.vi plug-in VIs must call the nitargetStartSerialDebug VI. Your plug-in VIs are located in your target directory. The nitargetStartSerialDebug VI is located on the Debugging Utilities palette and in the following directory:
![]() | labview\vi.lib\LabVIEW Targets\TargetShared |
If you are using TCP communication, your LEP_x_Connect.vi and LEP_x_Debug.vi plug-in VIs must call the nitargetStartTCPDebug VI. Your plug-in VIs are located in your target directory. The nitargetStartTCPDebug VI is located on the Debugging Utilities palette and in the following directory:
![]() | labview\vi.lib\LabVIEW Targets\TargetShared |
You must provide the TCP libraries for your target. If a Linux target and the host computer are different devices, you must build the run-time libraries with TCP_USE_LOCALHOST undefined and pass the IP address of the debugger as a command line argument to the embedded application. If a Linux target and the host computer are the same machine, define TCP_USE_LOCALHOST as 1.
![]() | Note If you are implementing OCDI debugging or using another communication layer for instrumented debugging, such as CAN or RTDX, you must implement the communication layer for LabVIEW and the communication layer for your target. |