Lightweight IO virtualization on MPU enabled microcontrollers