Simplifying Embedded System Development Through Whole-Program Compilers