Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Романов.Модуль2.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.88 Mб
Скачать
  1. Процесс инициализации программного обеспечения. Рисунок, пояснения.

Ранее были описаны шаги, в которых загрузочный образ выполняется после того, как центральный процессор начинает выполнение команд с вектора сброса. Обычно во время этого этапа, выполняется минимальная инициализация аппаратной части, необходимая для того, чтобы обеспечить работу загрузочного образа, включая: 1. Начало выполнения с вектора сброса; 2. Перевод процессора в заданное состояние, с помощью установки соответствующих регистров: o Получение типа процессора o Получение или установка тактовой частоты процессора; 3. Отключение прерываний и кэша. 4. Инициализацию контроллера памяти, чипов памяти и блоков кэша: o Получение начальных адресов памяти o Получение размера памяти o При необходимости, выполнение предварительного тестирования памяти

После того, как во время загрузочной последовательности инициализируется центральный процессор и память, происходит копирование и, при необходимости, распаковка участков кода предназначенного для выполнения. Также копируются и распаковываются данные кода в ОЗУ. Большая часть кода, предназначенного для ранней инициализации, написана на низкоуровневом языке ассемблера, характерном для архитектуры центрального процессора целевой системы. Код инициализация на более поздних шагах может быть написан на языках высокого уровня, таких как С.

По мере выполнения загрузочного кода, он вызывает соответствующие функции для инициализации других аппаратных компонентов целевой системы, если они присутствуют. В конце концов, инициализируются все устройства, размещенные на плате целевой системы (как показано в шаге 3 Рисунка 15.4). Этот процесс включает в себя:  Установка обработчиков выполнения;  Инициализация обработчиков прерываний;

 Инициализация интерфейсов шин, таких как VME, PCI и USB;  Инициализация периферийных устройств, таких как последовательные порты, сетевые подключения и устройства SCSI.

Написание BSP для конкретной целевой системы – нетривиальная задача. Разработчик должен обладать хорошим понимаем аппаратных компонентов, лежащих в основе системы. Вместе с пониманием структурных схем, потоков данных, карты памяти и карты прерываний, разработчик также должен знать язык ассемблера микропроцессора целевой системы.

Разработчики могут сохранить много времени и сил, используя существующие примеры пакетов, если они поставляются вместе с оценочной версией платы целевой системы или получены от производителя ОС РВ. Обычно, в этих примерах пакетов перечислены регистры микропроцессора, которые могут понадобиться разработчику, а также приведена последовательность, в которой нужно с ними работать, чтобы корректно инициализировать оборудование целевой системы.

С завершением фазы инициализации BSP все оборудование целевой системы инициализировано и у верхних уровней программного обеспечения (например, у ОС РВ) есть набор вызовов функций для взаимодействия с аппаратными компонентами целевой системы.

  1. Инициализация ос рв целевой системы.

Шаг 4 (см. Рисунок 15.4) начинает инициализацию программного обеспечения ОС РВ.

Ключевые события, которые могут произойти с шага 4 по шаг 6, включают:

1. Инициализация ОСРВ

2. Инициализация различных объектов и сервисов ОСРВ, если они присутствуют (обычно управляются с помощью конфигурируемого header файла):

oобъекты задач

oсемафорные объекты

oобъекты очереди сообщений

oсервис таймеров

oсервисы прерываний

oсервисы управления памятью

3. Создание необходимых стеков для ОС РВ

4. Инициализация дополнительных расширений ОСРВ, таких как:

oстек TCP/IP

oфайловые системы

5. Запуск ОСРВ и начальных задач

Компоненты ОСРВ (например, задачи, семафоры и очереди сообщений) обсуждаются детальнее в дальнейших главах этой книги. Сейчас запомните, что ОСРВ абстрагирует код приложений от аппаратной части системы и предоставляет программные объекты и сервисы, которые упрощают разработку приложений для встроенных систем.