Skip to main content
Knowledgebase
Home
Renesas Electronics Europe - Knowledgebase

How to change the mask level of non-kernel interrupt

Last Updated:03/22/2017

Question:

I want to manipulate PSW.IPL directly from the task by using set_ipl instead of chg_ims to mask non-kernel interrupts, but it can not be realized because it is in user mode during task execution. Please tell me the method and problems.

Answer:

PSW.IPL can be changed only in supervisor mode.
Because tasks are always run in user mode,
Please implement it as an interrupt handler to be in supervisor mode.
The interrupt handler can be called using CC-RX's built-in function int_exception.
Interrupt vector numbers 1 to 8 are reserved for RI600V4, so use other numbers.

* In handlers, PSW.IPL should not be lower than when processing starts.
 

Suitable Products
RI600V4
RI600PX