Separate Inst Data and interrupts

I’m writing code for an RCM3209 with Dynamic C. I’m trying to use the “Enable separate instruction and data spaces” option. When I select this option, the following code generates a compile error:

interrupt_vector ext1_intvec scannerISR;
SetVectExtern3000(1, scannerISR); // set up ISR

The error is “Vector ext1_intvec undefined”.

I am trying to register an ISR for external interrup 1 (PE1). The above code structure is copied straight out of the Dynamic C user’s manual (page 182 in my version, section 11.7.2 Modifying Interrupt Vectors).

I’ve seen examples that add the _RK_FIXED_VECTORS macro to the conditional statement:


My code now compiles, but it’s because the conditional always evaluates as false, so the “interrupt_vector ext1_intvec scannerISR;” gets skipped.

What is recommended? I’ve read that if I don’t use the interrupt_vector keyword my ISR will take 80 clocks longer to complete (with separate inst and data enabled). What is the proper way to handle this?