Стартап грубо это обычно есть предкомпилированный (объектный) библиотечный файл, задача которго перед стартом main расчистить ОЗУ, расставить стеки и т.п. Практически всегда он пишется на ассемблере (встречал разок и на C). Но, хоть он и предкомпилирован, его исходник должен быть доступен. Для ARM (в кайле точно) он чаще идёт ассемблерный и его при создани проекта вежливо просят включить в проект (заодно скопировать в папку проекта).