После перегрузки производит пуск из сектора 0 IRAM, там же уже лежит загрузчик, прокладывающий остальное во внешнюю SDRAM и запускающий с какого-то адреса 0x8000 0000. Дык сорцы там есть? - убить нах инициализацию контроллера SDRAM (или чего там вместо него), перемапить адреса перегрузки и запуска, в т.ч. в настройках проекта. Естественно, первыми 16 К нужно или пожертвовать, или самчно надругаться, чтоб утрамбовать до минимума. Но свободно ими пользоваться будет по-любому тяжко. ИМХО, можно попробовать вынести нафиг после старта приложения этот блок путём загрузки ещё одного перегружальщика, который нужно будет уложить в самый конец этой IRAM, и который уже загрузит приложение с адреса 0x0800 0000. Вот только кабы не было в этом IRAM блокового доступа... Если нет сорцов, то нужно U-BOOT смотреть;( (Там, ИМХО, наверняка, как и в большинстве линуховых проектов, сумятица невероятная)