Попутно замечу, что кейл не моделирует работу flash boot loader. Так что если (вдруг!) у Вас по адресу 0х14 отсутствует checksum (если Вы пишете свой вариант "blink led" с "нуля"), то в симуляторе кейла Ваша программа все равно будет работать. А вот на реальной железке - фиг!
Кстати, а скрипт линкера и startup.s - Вы взяли готовые из каких-нибудь примеров или сами написали? (это на тему о "неправильных настройках програматора или компилятора").