#include #include extern volatile uint8_t __bss_start[]; extern volatile uint8_t __bss_end[]; extern void app_main (void); static size_t premain_memset (void* dst, uint8_t b, size_t n) { uint8_t* dst1 = dst; size_t i; for (i = 0; i < n; i++) dst1[i] = b; return i; } static void clear_bss (void) { premain_memset ((void*)__bss_start, 0, (uintptr_t)__bss_end - (uintptr_t)__bss_end); } void __premain (void) { clear_bss (); app_main (); quit (); }