This presentation discussed the space optimizing bootloader design and implementation for memory critical implementations. The two-stage bootloader implementation assures the robustness against the comunication failures. The shared function space from the bootloader memory is accssed from the application memory space through function pointers. This implementation ensures that the base functions, diver layer and safety implementations are not repeated in the application code, and only the application code is implemented.