Microcontroller Compiler-Assisted Software Fault Tolerance