Index: firmware/kernel.c =================================================================== --- firmware/kernel.c (revision 14873) +++ firmware/kernel.c (working copy) @@ -753,7 +753,7 @@ EPITSR1 = 1; /* Clear the interrupt request */ } #endif -#endif +#endif /* CONFIG_CPU == IMX31L */ int tick_add_task(void (*f)(void)) { Index: firmware/target/arm/sandisk/ata-c200_e200.c =================================================================== --- firmware/target/arm/sandisk/ata-c200_e200.c (revision 14873) +++ firmware/target/arm/sandisk/ata-c200_e200.c (working copy) @@ -153,7 +153,9 @@ }; /* Shoot for around 75% usage */ +#ifndef BOOTLOADER static long sd_stack [(DEFAULT_STACK_SIZE*2 + 0x1c0)/sizeof(long)]; +#endif static const char sd_thread_name[] = "ata/sd"; static struct mutex sd_mtx; static struct event_queue sd_queue; @@ -1143,6 +1145,7 @@ GPIOG_OUTPUT_VAL |= (0x3 << 5); /* enable card detection port - mask interrupt first */ +#ifndef BOOTLOADER GPIOA_INT_EN &= ~0x80; GPIOA_OUTPUT_EN &= ~0x80; @@ -1167,6 +1170,7 @@ GPIOA_INT_CLR = 0x80; GPIOA_INT_EN |= 0x80; +#endif spinlock_unlock(&sd_mtx); } Index: firmware/drivers/button.c =================================================================== --- firmware/drivers/button.c (revision 14873) +++ firmware/drivers/button.c (working copy) @@ -362,7 +362,9 @@ button_read(); lastbtn = button_read(); +#ifndef BOOTLOADER tick_add_task(button_tick); +#endif reset_poweroff_timer(); #ifdef HAVE_LCD_BITMAP