Прошу прощения, если снова баян, но...

С бутом все понятно. Механизм запуска, шифрования, прошивания приложения, передачи ему управления и т.д. - все продумано
Никак не пойму, как собирать приложение
С обычным стартапом? Но там в начале по-любому будут вектора прерываний (хоть и расположены будут в регионе, отличном от ресета)
Зачем они приложению? Ведь можно, если нужно, в самом начале приложения поменять это все на свое
Стек - бут инициализирует стеки под себя. Теоретически, в той же инициализации приложения можно их переопределить под себя (а можно ли?)
RAM, который использует бут. Ведь после перехода на приложение, оно ему (буту) уже не нужно, и все можно разруливать приложению, где и что хранить?
С другой стороны, если приложение использует экспортируемые функции бута, стек этим функциям тоже нужен? Какой? приложения или бута?
В общем, копаю поиск уже не один час, но понимания картины в целом нет. Есть только множество вариантов, как сделать бут, и не нашел ни одного, как правильно собрать приложение под бут...