QUOTE (AlexandrY @ Sep 25 2015, 23:36)

Переписать такой startup это все равно что переписывать стандартные хидеры чипа.
Там перечисляются вектора, и зачем их писать заново?
Какой "такой"? Они вообще разные должны быть для разных случаев жизни и подгибание их под один "универсальный", или генерация и склеивание из мгочисленных кусочков в нечитаемый человеком исходник, не есть хорошее решение. И даже в таком вырожденном варианте, который характерен для кортексов-м, в startup есть что испровить и дописать. Исправить, как минимум выбранные неведомо кем и с какого бодуна имена обработчиков (мне удобнее всегда и везде иметь понятные и привычные МНЕ имена для ВСЕХ контроллеров с которыми я работаю). Есть и что дописать - те-же обработчики исключений на которые практически всегда откровенно плюют. Причем эти обработчики незачем дублировать в загрузчике и в основной программе.
То-же касается и "стандартых хидеров чипа" - уж больно разные стили у них а зачастую и вообще категорически неприемлимые, как у того-же IAR испольльзующего свои расширения языка.
Производители компиляторов зачастую допускают отклонения от аббревиатур в документации производителя. Да и у самих производителей тоже рыльце в пушку бывает часто - выпускают новый чип и даже в той-же серии допускают неведомо зачем изменения в названиях регистров. Или добавляют еще такой-же интерфейс и ко всем именам регистров добавляют цифры. И старые исходники, что теперь править и сопровождать в двух экземплярах для разных чипов? Типа после выхода фильма "Терминатор-2" нужно менять титры "Терминатор" на "Терминатор-1"?
Времени, как уже писал
jcxz, это занимает немного, тем более это пишется по кусочкам в порядке добавления в процессе изучения железа. Да и это небольшое затраченное время с лихвой окупается уменьшением затрат времени на то, что-бы НЕ вспоминать, спустя дни или годы, как сегодня на этом контроллере в этом компиляторе что-то там называется.