GpKeyPollingTimeSet(KEYPOLLING_NUM);
#ifdef USE_GP_MEM
gm_heap_def.heapstart = (void*)(HEAPSTART);
gm_heap_def.heapend = (void *)(HEAPEND & 3); //<== BOOTROM SPECTIFIC
gm_heap_init(&gm_heap_def);
gp_mem_func.malloc = gm_malloc;
gp_mem_func.zimalloc = gm_zi_malloc;
gp_mem_func.calloc = gm_calloc;
gp_mem_func.free = gm_free;
gp_mem_func.availablemem = gm_availablesize;
gp_mem_func.malloc_ex = gm_malloc_ex;
gp_mem_func.free_ex = gm_free_ex;
gp_mem_func.make_mem_partition = gm_make_mem_part;
gp_str_func.memset = gm_memset;
gp_str_func.memcpy = gm_memcpy;
gp_str_func.strcpy = gm_strcpy;
gp_str_func.strncpy = gm_strncpy;
gp_str_func.strcat = gm_strcat;
gp_str_func.strncat = gm_strncat;
gp_str_func.lstrlen = gm_lstrlen;
gp_str_func.sprintf = gm_sprintf;
gp_str_func.uppercase = gm_uppercase;
gp_str_func.lowercase = gm_lowercase;
gp_str_func.compare = gm_compare;
gp_str_func.trim_right = gm_trim_right;
#endif /*USE_GP_MEM*/