Xilinx MicroBlaze Reference Manual page 192

Hide thumbs Also See for MicroBlaze:
Table of Contents

Advertisement

MicroBlaze allows exception and interrupt handler routines to be located at any address
location addressable using 32 bits.
The user exception handler code starts with the label _exception_handler
The hardware exception handler starts with _hw_exception_handler
The interrupt handler code starts with the label _interrupt_handler for interrupts
that do not use low-latency handlers.
In the current MicroBlaze system, there are dummy routines for interrupt, break and user
exception handling, which you can change. In order to override these routines and link your
own interrupt and exception handlers, you must define the handler code with specific
attributes.
The interrupt handler code must be defined with attribute interrupt_handler to ensure
that the compiler will generate code to save and restore used registers and emit an rtid
instruction to return from the handler:
void function_name() __attribute__((interrupt_handler));
The break handler code must be defined with attribute break_handler to ensure that the
compiler will generate code to save and restore used registers and emit an rtbd instruction to
return from the handler:
void function_name() __attribute__((break_handler));
For more details about the use and syntax of the interrupt handler attribute, please refer to
the GNU Compiler Tools chapter in the Embedded System Tools Reference Manual (UG1043)
[Ref
13].
When software breakpoints are used in the Xilinx System Debugger (XSDB) tool or the
Software Development Kit (SDK) tool, the Break (HW/SW) address location is reserved for
handling the software breakpoint.
MicroBlaze Processor Reference Guide
UG984 (v2018.2) June 21, 2018
Chapter 4: MicroBlaze Application Binary Interface
www.xilinx.com
193
Send Feedback

Advertisement

Table of Contents
loading

Table of Contents