How does single step interrupt work ?

My target board is wired with Renesas M16C / 60 Series Microcontroller. In this microcontroller, Bit 1 of the flag register is Debug Flag. This flag enables a single-step interrupt. I'm using Renesas E8a Debugger with High Performance Embedded workshop debugger software. How does single-step interrupt work? When I click on single step, does single step interrupt generate? Is the single step interrupt service routine in monitor code that lives in internal ROM of the microcontroller ? Is the address of single step interrupt service routine in interrupt vector table? How does this address get in the table ? Please explain the single step activity behind the scenes ?
  • Hi there,

    For the M16C / 60 group, you might want to check this PDF out. That's the hardware manual and there is a section on Interrupts on page 203 that might be helpful.

    Good luck on your work.

  • When I click on single step, does single step interrupt generate? May be. In general there are 2 strategies. One uses single step interrupt. The other inserts a software interrupt at the next instruction of the source code and then executes a "run to break point without interrupts enabled".

    Is the single step interrupt service routine in monitor code that lives in internal ROM of the microcontroller ? Yes.

    Is the address of single step interrupt service routine in interrupt vector table?  Yes.

    How does this address get in the table ? When you start a debug session, downloading of the monitor firmware always programs the fixed vector table. The user fixed vector table is moved to a different address.

    Please explain the single step activity behind the scenes ? That's not easy to explain and not really usefull.