In this wiki we will demonstrate how to create a non-maskable break (high priority interrupt) on the Microblaze using the Ext_NM_Brk port to jump directly to the interrupt handler.
In order to achieve this, the linker script is updated to include the break vector. There is also assembler code to handler the interrupt event.

The use-case here would be for time critical control systems.

The hardware is created using Vivado 2018.1, and uses an AXI Timer to generate the interrupt.

There is a TCL script delivered in the Zip file below:

To build, launch Vivado 2018.1, and run the command below from the TCL console:
  • source data/all.tcl

This will build the hardware and the software application. To investigate the application, launch SDK 2018.1 and navigate to the workspace
  • project_1\project_1.sdk

Related Links