That looks ok. You could try setting a breakpoint in your ISR, stepping through the ISR code until you're back in the Hwi dispatcher. Then see what happens when you step over this line of code in the Hwi dispatcher:
Log_write1(Hwi_LD_end, (IArg)hwi);
Also, did you try running this in stop-mode first?
Best regards,
Janet