Довольно открытый вопрос, но вот несколько вещей, которые я поднял.
Для супер простого процессора s, нет настоящего кода запуска.Процессор получает питание, а затем начинает выполнение первой инструкции в своей памяти: без суеты, без суеты.
Чуть дальше у нас есть mcu, похожие на avr и pic.У них очень мало стартового кода.Единственное, что действительно нужно сделать, - это настроить таблицу переходов с соответствующими адресами.После этого дело за кодом приложения (единственной программы).Хорошей новостью является то, что вам, как разработчику, обычно не нужно беспокоиться об этих вещах: это , что libc для .
После этого у нас есть такие вещи, какчипы на основе простой руки;более сложный, чем авр и рис, но все же довольно простой.Они также должны настроить таблицу прерываний, а также убедиться, что часы установлены правильно, и запустить все необходимые компоненты чипа (основные прерывания и т. Д.).Взгляните на этот pdf от Atmel , в котором подробно описана процедура запуска чипа ARM 7.
Далее по пищевой цепочке у нас полнофункциональные ПК (x86, amd64 и т. Д..).Код запуска для них - действительно BIOS, , который ужасно сложен .