у которого программа может выполняться только из внутреннего или внешнего (отдельный случай) ОЗУ, встроенный бутлоадер сидит начиная с адреса 0x00, при выполнении кода из внутреннего ОЗУ (которое располагается с а дреса 0x8000000) необходимо грамотно указать адреса векторов прерыванийи некоторые начальные инициализации. Для этого в контроллере есть аппаратная поддержка ремапа ОЗУ, т.е. при активации внутреннее ОЗУ будет доступно для ядра начиная с адреса 0x00. При задании директивы REMAP в Кейле, последний дописывает в стартап (в самом начале, еще до Вашего кода) пару строчек, которые как раз и включают переадресацию ОЗУ. Т.о. после стартапа Ваша прога сидит с адреса 0x00.