19.19 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 RI600V4, the vector number is allocated according to the vector address as shown in
Table 19-10.
Table 19-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 cfg600 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 19-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
|
|
|
|
|
|
|
|
|
Undefined instruction exception
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
The vector address in Table 19-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.
|
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 cfg600 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 19-9 for the guarantee of the ACC register.