I've used EmbSysRegisters for a while now and it seems to work well--most of the time.
Sometimes I'm in the debugger with the CPU stopped and want to look at a peripheral register, so I go to the EmbSysReg window and double click on a register name. It turns green, but it does not update with the register contents. In fact, when this happens, none of the registers will display anything when I double click on them. If I then single-step or let the CPU run until it hits a breakpoint, displaying a peripheral register value will usually work.
Why doesn't it work consistently? On some occasions it doesn't display any register values unless I do a single-step or otherwise let the processor run to a breakpoint.