Well, you usually take one of the available timers, set period to 5us, enable interrupt on that timer (on overflow or underflow) and write interrupt handler.
Logically there’s no difference between 1 mS and 5 uS, but at the latter you have about 300 instructions between interrupts which isn’t a whole lot of other work, depending on what your isr code does.
However, I’m using 65536 Hz as a context switching clock on LPC21XX series which is
a little over 15 uS and the idle loop still gets executed a lot.