Visible to Intel only — GUID: tew1697418635441
Ixiasoft
1. About the RiscFree* IDE
2. Getting Started with the Ashling* RiscFree* IDE for Intel® FPGAs
3. Using Ashling* RiscFree* IDE for Intel® FPGAs with Nios® V Processor System
4. Using Ashling* RiscFree* IDE for Intel® FPGAs with Arm* Hard Processor System
5. Debugging Features with RiscFree* IDE for Intel® FPGAs
6. Debugging with Command-Line Interface
7. Ashling RiscFree* Integrated Development Environment (IDE) for Intel® FPGAs User Guide Archives
8. Document Revision History for the Ashling RiscFree* Integrated Development Environment (IDE) for Intel® FPGAs User Guide
A. Appendix
3.1. Importing Nios® V Processor Project
3.2. Building Nios® V Processor Project
3.3. Setting Run Configuration to Download Nios® V Processor Project
3.4. Setting Debug Configuration to Debug Nios® V Processor Project
3.5. Setting Debug Configuration to Debug a Booting Nios® V Processor Project
3.6. Debugging Tools
5.1. Debug Features in RiscFree* IDE
5.2. Processor System Debug
5.3. Heterogeneous Multicore Debug
5.4. Debugging µC/OS-II Application
5.5. Debugging FreeRTOS Application
5.6. Debugging Zephyr Application
5.7. Arm* HPS On-Chip Trace
5.8. Debugging the Arm* Linux Kernel
5.9. Debugging Target Software in an Intel® Simics Simulator Session
Visible to Intel only — GUID: tew1697418635441
Ixiasoft
5.8.2. Debugging the Arm* HPS Linux Kernel
Refer to the following steps to debug the Arm* HPS Linux Kernel:
- Boot Linux* on the Agilex™ development board using a Linux kernel ready for debugging.
- Go to File > Import > C/C++ Executable then click Next.
Figure 67. Selecting Import Wizard
- In the Import Executable window, click Browse… and select the vmlinux executable location on your computer. Click Next.
Figure 68. Importing C/C++ Executable Files
- Use Linux Kernel Debug for New project name. Select Ashling Heterogeneous Multicore Hardware Debug for Create a Launch Configuration, then click Finish.
Figure 69. Choosing Project
- The Debug Configurations window appears. Use the Auto-detect Scan Chain button, if you need to populate the device list in the Device tab in the launch configuration. Perform and repeat the following steps for all four Cortex-A53 cores.
Figure 70. Creating, Managing, and Running Configuration
- For the Linux debug session, check all the cores that Linux is running on as shown below.
Figure 71. Linux CoresNote: Altera recommends you specify a proper memory access attributes to avoid unwanted or illegal memory access during the debug session. For example, the memory access region configured for Agilex™ platform is:
set remotetimeout 10 set mem inaccessible-by-default on mem 0xffff000000000000 0xffff0003ffffffff rw mem 0xffff800000000000 0xffff802effffffff rw
Ensure you select the default path and then select aarch64-none-linux-gnu-gdb as the GDB Executable name. - Click Target Application tab. Click Add. The Browse Executable window appears. For Project, click Browse... and select the current project. For C/C++ Application, click Browse... and select vmlinux as the executable. Click OK.
Figure 72. Browse Executable Window
- After adding the executable, ensure you turn off Load image as the image is already loaded to the target.
Figure 73. Target Application Tab
- Click the Startup tab. Ensure the configuration is as shown below.
Figure 74. Startup Tab
- Go to OS Awareness tab. Turn on the OS Aware Debugging checkbox and select appropriate Linux kernel version.
Figure 75. OS Awareness Tab
- For the Linux debug session, check all the cores that Linux is running on as shown below.
- After you complete the configurations for all of the Cortex-A53 cores, click Apply then click Debug. The debugger connects to the Linux running on the board, then it stops the cores, and display the current code, as shown below.
Figure 76. idle.c tab
- Go to Linux > Processes > List Running Processes, and then the debugger shows the processes.
Figure 77. Linux Process
- Right-click a process in the list, then select the Watch option. The debugger opens the process in the Watch window. You can now inspect its properties.
Figure 78. Inspecting the Process Properties
The following figure shows an example of the Linux process properties.
Figure 79. Process Properties - Go to Linux > Modules > List Loaded Modules to show the list of modules. In the example below only one module was loaded:
Figure 80. Linux Modules
- Right-click a module in the list, then select the Watch option. You can inspect the module properties as shown in the figure below:
Figure 81. Module Properties