Return to previous page Return to menu Go to next page

SCU interrupt routine priority change

BOOT ROM has an interrupt priority management table for the SCU interrupt processing service, and it is possible to rewrite it.

  Caution This is a dangerous service and the system hangs if there is a priority conflict in the table contents
May be up! ! ! 

This allows you to optimize interrupt handling (using SYS_SETUINT) for your application.

For this purpose, the application should prepare data with the same structure as the table and call SYS_CHGUIPR.

The table is 32 long words, and 1 long word has the following contents.

 SH2 SR lower word value 
 SCU interrupt mask lower word value 

Value set in SR when interrupt processing starts
When interrupt processing starts, the current mask setting value is stored in the SCU interrupt mask register Value written with logical OR (OR)

The position of this longword in the table corresponds to 30 SCU interrupt factors.
(V-Blank In is the first, V-Blank Out is the second, but includes 2 longwords corresponding to vectors 4EH and 4FH)

Actually, the table should be created so that there is no contradiction between SR and SCU interrupt masks and interrupt factors with the utmost care.

For example, BOOT ROM uses the following table as the default settings.

 Uint32 PRITab [32] = {
0x00F0FFFF, / * VBI SR = 15 All prohibited (highest priority)
0x00E0FFFE, / * VBO SR = 14 Allowed only for VBI
0x00D0FFFC, / * HBI SR = 13 Allow VBI, VBO
:
:
0x0070FE00 / * External 15 SR = 7 SCU interrupt specific priority All masks
/ * A bus interrupt specific priority The degree is 7, 4, or 1 depending on the factor, but it is 7 for shared 1-bit masks.
};
 
* /
* /
* /


* /
* /


Return to previous page Return to menu Go to next page