Я разработчик встраиваемых систем, и в настоящее время я работаю с 16-битными UC PIC. Всякий раз, когда я начинаю работать с другим uC (также 16-битным PIC), в периферийных регистрах происходит значительное изменение, и в зависимости от внешнего сопоставления выводов, мне нужно преимущественно менять код инициализации выводов, периферийный код и настройки часов среди другие мелочи
Редактирование: Типичный процесс установки ОС: загрузка ISO-образа, использование программного обеспечения, такого как Rufus, создание загрузочного USB-накопителя и, наконец, установка ОС с действующего USB.
Мои вопросы:
i) Каким образом программное обеспечение (в данном контексте ОС), такое как linux/windows как один файл (образ ISO), может работать на разных материнских платах с разными процессорами (Intel/AMD) и разными чипами контроллеров для сети, аудио, видео, жесткий диск, USB и т. д.?
ii) Во-первых, как ОС узнает, с каким процессором она разговаривает? Во-вторых, какой тип информации обменивается между ОС и микропроцессором, чтобы понять обо всех текущих конфигурациях аппаратного обеспечения, чтобы он мог настроить свое программное обеспечение для установки (при условии, что именно так ОС узнает о различных конфигурациях аппаратного обеспечения)?