You can debug AI Engine and HLS components in a standalone capacity, or you can debug the System project, including the top-level PS application, and any additional components. Within this framework, you can also debug applications built from the command line, or system projects built in the Vitis Unified IDE. You can only debug applications running on the Linux OS. Baremetal applications debug support is not available through the IDE. You can debug hardware emulation builds that let you simulate the application, or debug the actual application running on hardware. All of these configurations are addressed in the following topics.
The following process is recommended for debugging AI Engine applications and system designs:
- Use x86 simulation for both single and multi-kernel debug. It supports breakpoints and single stepping using the GNU debugger.
- Use
aiesimulator
to verify timing and to check that it will fit within the program memory as well as stack/heaps size within the available hardware memory space. Theaiesimulator
andx86simulator
and their use are described in Simulating an AI Engine Graph Application in AI Engine Tools and Flows User Guide (UG1076). - Hardware emulation for complete integration testing including PL, PS, and AI Engine domains as applicable.
- Hardware-based testing of the final booted system.
If code changes are necessary at any step, repeat all steps from the beginning.
--xlopt = 0
because higher compiler
optimizations will reduce debug visibility.