20.22 Fixed Vector/Exception Vector Information (interrupt_fvector[])
Here, fixed vector table of the RXv1 architecture (address from 0xFFFFFF80 to 0xFFFFFFFF) / exception vector table of RXv2 architecture is defined.
Not only interrupt handler address but also the endian select register, etc., are included in fixed vector table/exception vector table.
All interrupt in fixed vector/exception vector is non-kernel interrupt.
In the RI600PX, the vector number is allocated according to the vector address as shown in
Table 20-10. The
Table 20-10 also shows the setting of the vector to which the definition is omitted.
Note, the content of fixed vector table/exception vector table is different in each MCU. For details, refer to the hardware manual of the MCU used.
Note, the cfg600px does not generate code to initialize the interrupt control registers, the causes of interrupts, etc. for the interrupts defined here. These initialization need to be implemented in the application.
Table 20-10 Fixed Vector Table/Exception Vector table
|
|
|
|
|
|
|
The following are set according to "-endian" compiler option.
- "-endian=little" 0xFFFFFFFF
- "-endian=big" 0xFFFFFFF8
|
|
|
|
|
|
|
Option function select register 1
|
|
|
Option function select register 0
|
|
|
|
|
|
|
|
|
|
|
|
ROM code protection (flash memory)
|
|
|
ID code protection on connection of the on-chip debugger (flash memory)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Privileged instruction exception
|
|
|
|
Access exception handler 2
|
|
|
|
|
|
|
Undefined instruction exception
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
The vector address in Table 20-10 is the address of fixed vector table in RXv1 architecture. The address of exception vector table in RXv2 architecture is decided by EXTB register. The initial value of EXTB register at the time of reset is same as fixed vector table in RXv1 architecture. Refer to " FIX_INTERRUPT_VECTOR section" in section 2.6.4.
2
Do not define a handler to the vector-21. If defined, the access exception handler never be initiated.
|
Parentheses < >show the user input part.
- Description
Define the vector number.
- Definition format
Numeric value
- Definition range
From 0 to 31
- When omitting
Cannot be omitted.
2 ) Interrupt handler entry address (
entry_addreess)
- Description
Define the starting function of the interrupt handler or the set value to fixed vector/exception vector.
- Definition format
Symbol or numeric value
- Definition range
From 0 to 0xFFFFFFFF when a numeric value is specified.
- When omitting
Cannot be omitted.
3 ) Switch passed to pragma directive (
pragma_switch)
- Description
The cfg600px outputs "#pragma interrupt" directive to handle the function specified by
entry_address as a interrupt function to the system information header file kernel_id.h.
The switches passed to this pragma directive should be specified for
pragma_switch.
- Definition format
Symbol
- Definition range
The following can be specified. To specify multiple choices, separate each with a comma. However, "ACC" and "NOACC" cannot be specified at the same time.
S: The "save" switch that limits the number of registers used in the interrupt handler is passed.
ACC: The "acc" switch that guarantees the ACC register in the interrupt handler is passed.
NOACC: The "no_acc" switch that does not guarantee the ACC register in the interrupt handler is passed
- When omitting
No switches are passed.
- Note
Refer to
Table 20-9 for the guarantee of the ACC register.