You can debug AI Engine and HLS components in a standalone capacity. You can also debug the System Project, including the top-level PS application, and any additional components. Within this framework, you can 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. Bare-metal applications debug is not available through the IDE. You can debug hardware emulation builds that let you simulate the application. You can also debug the actual application running on hardware. These configurations are addressed in the following topics.
Follow the steps below for debugging AI Engine applications and system designs.
- Use x86 simulation for both single and multi-kernel debug. The tool supports breakpoints and single stepping using the GNU debugger.
- Use
aiesimulatorto verify timing and ensure fit within program memory and hardware memory (stack and heap). See Simulating an AI Engine Graph Application in AI Engine Tools and Flows User Guide (UG1076) for details on theaiesimulatorandx86simulator. - Hardware emulation for complete integration testing including PL, PS, and AI Engine domains if necessary.
- Hardware-based testing of the final booted system.
If code changes are necessary at any step, repeat all steps from the beginning.
--xlopt = 0. Higher compiler optimizations
reduce debug visibility.