0

Hello support,

We are currently using MCU RX231 in our product with Renesas 8.3.0.202411-GNURX Toolchain.
There are plans to upgrade the hardware to a new MCU with RXv3 core (for example RX671).

I have studied the new RXv3 feature “Register Bank Save function”.
But I don’t understand how to make use of this in an C-interrupt function.

Currently we typically use the following syntax/style:

void Ricc0ReceiveInterrupt(void) __attribute__((interrupt(“.rvectors”, VECT(RIIC0, RXI0))));
void Ricc0ReceiveInterrupt(void) {

}

This generates assembler code that push/pops register to the stack and the necessary RTE instruction.

I found an application note from Renesas regarding using the Register Bank save Function.
But this document only describes how to write code in C using the CC-RX compiler.
Here it seems to be a special pragma where you can specify the bank to use:

#pragma interrupt handler(vect=64, bank=3)
void handler(void) {

}

Any help or information on this topic would be appreciated.

Best regards,
Håkan

Open Source Tools Support answered