Московский инженерно-физический институт

(государственный университет)

Факультет Автоматики и электроники

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

"РАЗРАБОТКА СПЕЦИАЛЬНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ОПЕРАЦИОННОЙ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ"

Работа № 1.

ОС РВ «Багет 2.0»: среда разработки, средства конфигурирования, средства отладки, способы загрузки целевой ЭВМ

Разработан на кафедре Микроэлектроники

Московского инженерно-физического института (МИФИ)

Авторы:

Станислав Седов (МИФИ)

Илья Бакулин (МИФИ)

НИИСИ

Версия 1.5

2007 г.

Введение

Операционная система ОС2000 предназначена для создания программного обеспечения вычислительных систем, комплексов и средств автоматизированного управления, работающих в режиме реального масштаба времени. В настоящее время она может применяться на ЭВМ с микропроцессорными архитектурами 1В578 и Intel. Большая часть интерфейсов стандарта POSIX (the Portable Operating System Interface/Мобильной Операционной системы) 1003.b, определяющего сервисы операционных систем реального времени, реализована в ОС2000. Все функции и интерфейсы, реализованные в ОС2000, POSIX-совместимы.

ОС2000 не зависит от архитектуры ЭВМ, на которой она должна функционировать (далее – “целевая ЭВМ”). Входящие в ее состав объектные библиотеки ориентированы только на тип процессора целевой ЭВМ, но не на архитектуру целевой ЭВМ в целом. Функционирование ОС2000 на целевой ЭВМ конкретной архитектуры обеспечивается Пакетом поддержки модуля (ППМ), поставляемым в составе целевой ЭВМ.

НЕ нашли? Не то? Что вы ищете?

В настоящен лабораторном практикуме в качестве целевой ЭВМ используется лабораторный стенд, реализованный на базе 32-разрядного микропроцессора 1890ВМ2Т и предназначенный для практического изучения пользователями архитектуры и применения RISC-процессоров этого семейства. Описание лабораторного стенда приведено в разделе 3 настоящего документа.

1.  Среда разработки специального программного обеспечения для операционной системы реального времени ОС2000 (СПО ОС РВ)

2.1  Состав среды разработки СПО ОС РВ

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

В состав среды разработки СПО РВ входят следующие программы и программные изделия:

-  операционная система реального времени ОС2000 ((далее – ОС РВ);

-  пакет поддержки модуля (далее - ППМ),

-  Си-компилятор для операционной системы реального времени, (далее - СКРВ);

-  Программа «Системный загрузчик», далее – «загрузчик».

-  Интерактивный монитор PRIME

2.2  Аппаратная конфигурация инструментального комплекса

Для разработки прикладного программного обеспечения используется комплекс, состоящий из двух ЭВМ, соединенных по сети:

    инструментальная ЭВМ (далее – ИЭВМ) - компьютер с операционной системой типа UNIX, на которой ведется разработка программного обеспечения, целевая ЭВМ (далее – ЦЭВМ) - ЭВМ, для которой разрабатывается программное обеспечение.

В качестве сетевого соединения может использоваться Ethernet или COM-порт. В настоящем лабораторном прaктикуме соединение целевой и инструментальной ЭВМ осуществляется через последовательный порт по протоколу SLIP.

В процессе разработки и отладки прикладные программы загружаются в целевую ЭВМ по сети. Для работы на целевой ЭВМ к процессорному модулю должен быть подключен эмулятор терминала. Эмулятор терминала запускается на ИЭВМ и взаимодействует с процессорным модулем через COM-порт. Если загрузка и отладка программ осуществляется с использованием протокола SLIP, то на ИЭВМ необходимо наличие дополнительного COM-порта.

На ИЭВМ устанавливаются средства разработки. На ИЭВМ осуществляется разработка пользовательских модулей, их компиляция, выполняется создание образа ОС РВ с включением в него объектных файлов пользователя. Под образом ОС РВ понимается исполняемый модуль, который может быть загружен на ЦЭВМ. Прикладные программы, включенные в образ ОС РВ, исполняются на ЦЭВМ в составе ОС РВ.

В РПЗУ (репрограммируемое запоминающее устройство, или «флэш-память») процессорного модуля ЦЭВМ записывается системный загрузчик. С помощью системного загрузчика образ ОС РВ может быть записан в РПЗУ процессорного модуля ЦЭВМ. Средства системного загрузчика позволяют запустить образ ОС РВ из РПЗУ, а также предоставляют возможность загрузить образ ОС РВ с ИЭВМ по сети и запустить его на исполнение.

После загрузки целевой ЭВМ пользователь с помощью локальных или удаленных средств отладки может наблюдать и корректировать поведение программного обеспечения.

По завершении процесса разработки образ ОС РВ с включенными в него прикладными программами можно записать в РПЗУ модуля целевой ЭВМ так, чтобы при включении целевой ЭВМ он автоматически загружался в ОЗУ и запускался на исполнение. В этом случае целевая ЭВМ может функционировать автономно, без сетевого соединения с инструментальной ЭВМ.

2.2 Программное обеспечение инструментальной ЭВМ (ИЭВМ)

2.2.2 Операционная система инструментальной ЭВМ

В настоящем лабораторном прaктикуме в качестве операционной системы ИЭВМ используется ОСFreeBSD 7.0-BETA2. с графической многооконной оболочкой X-Window и эмулятором терминала C-Kermit.

При конфигурировании и настройке ОС FreeBSD должны быть выполнены следующие требования:

- для обеспечения взаимодействия между ИЭВМ и целевой ЭВМ по COM-порту на ИЭВМ необходимо активизировать протокол SLIP;

- для обеспечения загрузки целевой ЭВМ по сети с использованием протокола FTP или NFS на ИЭВМ должны быть установлены FTP - и NFS- серверы;

- для использования сетевого времени по протоколу Time на ИЭВМ должно быть установлено сетевое время;

- каталоги файловой системы ОС FreeBSD, которые должны быть доступными по протоколу NFS в процессе загрузки целевой ЭВМ или в процессе работы в ОС РВ, необходимо сделать экспортируемыми по NFS.

В настоящем лабораторном практикуме все действия по изначальному конфиурированию инструментальной ЭВМ производятся преподавателем до начала выполнения лабораторных работ.

Инструкция по экспортированию каталогов в NFS приведена в разделе 4.1.4. настоящего документа.

2.2.2 Средства разработки (ОС РВ, ППМ, СКРВ)

Для того, чтобы на инструментальной ЭВМ можно было осуществлять разработку прикладных программ, необходимо установить на ней ОС РВ, ППМ, СКРВ. Инструкции по установке перечисленных средств приведены в разделе 4.1 настоящего документа.

Во избежание терминологической неоднозначности следует различать образ ОС РВ, загружаемый в ЦЭВМ, и средства ОС РВ, устанавливаемые на ИЭВМ. Под установкй ОС РВ на ИЭВМ подразумевается инсталляция дистрибутива. Образ ОС РВ создается на ИЭВМ с использованием средств ОС РВ, ППМ, СКРВ. Образ ОС РВ загружается в ЦЭВМ и функционирует на процессорном модуле. Чтобы не загромождать изложение, далее будем употреблять термин «ОС РВ» для обозначения обоих понятий и интерпретировать его в зависимости от контекста.

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

Особенностью системы ОС РВ является то, что входящие в её состав объектные библиотеки ориентированы только на тип процессора целевой ЭВМ, но не на архитектуру процессорного модуля. Задача обеспечения функционирования ОС РВ на процессорном модуле конкретного типа возлагается на ППМ. Для каждого типа процессорных модулей разрабатывается свой ППМ.

ОСРВ и ППМ устанавливаются в указанный пользователем каталог файловой системы.

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

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

2.3  Программное обеспечение целевой ЭВМ

2.3.1 Интерактивный монитор PRIME

После инициализации процессорного модуля ЦЭВМ управление системой передается монитору Prime, который выводит на экран терминала информацию о конфигурации стенда (рис. 2.8).

Рис. 1 Начальный вид экрана интерактивного монитора PRIME

Монитор PRIME выдает на экран следующие данные:

- информация о версии монитора,

- название и тактовую частота процессора,

- объем и адресное пространство оперативной памяти 4Мбайт, 0xA– 0xa03F FFFF,

- объем и адресное пространство ПЗУ 512Кб, 0xBFC0 0000 – 0xBFC7 FFFF,

- объем и адресное пространство флэш-памяти 2Мбайт, 0xB– 0xB1F FFFF,

- приглашение для ввода команд prime>

Используя монитор PRIME, пользователь может загрузить рабочую программу в ОЗУ или РПЗУ процессорного модля и контролировать выполнение программы. При использовании ЦЭВМ в штатном режиме монитор PRIME загружает программу, записанную в начало РПЗУ, и передает ей управление. В настоящем лабораторном предполагается использование ЦЭВМ в штатном режиме, а в качестве «рабочей программы» используется системный загрузчик.

2.3.2 Системный загрузчик

Системный загрузчик (далее «загрузчик») предназначен для загрузки ОС РВ в один или несколько процессорных модулей ЦЭВМ через сетевые интерфейсы модулей, с локальных файловых систем и из РПЗУ. Загрузчик записывается в РПЗУ процессорного модуля ЦЭВМ в виде файла формата. bin и может быть запущен средствами PRIME. Для использования загрузчика в штатном режиме функционирования ЦЭВМ он должен быть записан в начало РПЗУ.

Запись загрузчика в РПЗУ может быть осуществлена по протоколу z-modem с помощью программы ПЗУ «PRIME» и программы Kermit. Инструкция по записи файла в РПЗУ приведена в приложении 1 к настоящему документу.

Загрузчик целесообразно использовать в процессе разработки программ при наличии 2-х или более отладочных интерфейсов. Он обеспечивает гибкость в организации взаимодействия целевой ЭВМ с сетью и с инструментальной ЭВМ - даже когда вторым интерфейсом является RS-232.

Получив управление от монитора PRIME, загрузчик распаковывает себя из РПЗУ в ОЗУ и считывает из энергонезависимого ЗУ строку загрузочных параметров. Загрузочные параметры определяют местоположение загружаемого файла и способ его загрузки. Оператор может изменить загрузочные параметры в интерактивном режиме и сохранит измененные значения в энергонезависимом ЗУ для дальнейшего использования. Более подробная информация о загрузочных параметрах приведена в разделе 4.4.1.1 настоящего документа.

Примечание. Для модулей с небольшим объемом ОЗУ, например, БТ83-201, изготавливается образ загрузчика, исполняемый в РПЗУ. В этом случае запись прикладных программ в РПЗУ средствами загрузчика невозможна. В настоящем лабораторном практикуме используются процессорные модули с объемом ОЗУ, достаточным для исполнения загрузчика в ОЗУ.

Действия, выполняемые загрузчиком после передачи ему управления, определяются значениями загрузочных параметров, режимом функционирования ЦЭВМ («технологический» или «штатный»), действиями оператора.

Загрузчик позволяет, в частности, выполнить следующие действия:

    загрузить программу (ELF-формат) через сетевой интерфейс или из локальной (для целевой ЭВМ) файловой системы, записать файл в РПЗУ (только для загрузчиков, исполняемых в ОЗУ), запустить программу, загруженную в ОЗУ или записанную в РПЗУ.

Загрузчик позволяет загружать из сети специальным образом подготовленный образ ОС (обычно файл oc202, подготовленный сценарием m_elf. sh или mcrc_elf. sh). При наличии интерфейса Ethernet время загрузки - несколько секунд, при использовании интерфейса SLIP - около минуты.

Загрузчик позволяет записать любой файл из сети в РПЗУ, в частности - образ ОС РВ. Он делает это быстрее ТМ, поскольку SLIP может работать на скорости 115200 и двоичные файлы почти в 3 раза меньше файлов типа rec (ТМ записывает только их  - более поздние версии ТМ позволяют записывать двоичные файлы со скоростью 115200 бод). При этом отпадает необходимость деактивации интерфейса SLIP.

Загрузчик может просто передавать управление в РПЗУ по указанному адресу (который он помнит).

В целевой ЭВМ с несколькими процессорными модулями Загрузчик основного модуля (им следует назначать модуль, к которому подключен терминал) может управлять работой Загрузчиков в других модулях.

Более подробная информация о работе с загрузчиком приведена в разделе 4.4.1.1 настоящего документа.

2.4  Этапы разработки СПО ОС РВ

После установки на ИЭВМ средств разработки и создания исходного текста программы на языке Си необходимо:

- откомпилировать программу,

- сконфигурировать ОС РВ,

- создать образ ОС РВ.

Перечисленные действия осуществляются на ИЭВМ с использованием средств разработки.

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

Отладка программ осуществляется на инструментальном комплексе (раздел 2.2 настоящего документа). Отлаживаемые программы могут загружаться на ЦЭВМ в составе образа ОС РВ или с использованием команды load динамического загрузчика, входящего в состав средств отладки ОС РВ. Последний способ предпочтителен в случае, когда загрузка образа ОС РВ по сети занимает много времени. В этом случае целесообразно включить в образ ОС РВ файловую систему, смонтированную по NFS на каталог файловой системы ИЭВМ, из которого предполагается загружать объектные модули отлаживаемой программы. После однократной загрузки образа ОС РВ отлаживаемые модули можно загружать и выгружать многократно в процессе их отладки. Для сокращения времени загрузки операционной системы можно записать ее образ в РПЗУ.

2.  Лабораторный стенд

2.1. Общее описание стенда

Лабораторный стенд предназначен для практического изучения пользователями операционной системы ОС РВ. ЦЭВМ лабораторного стенда реализована на базе 32-разрядного микропроцессора 1890ВМ2Т.

Для работы с лабораторным стендом используются ИЭВМ - персональный компьютер с операционной системой FreeBSD 7.0, установленной в качестве одного из вариантов загрузки компьютера. Все работы по написанию программ, конфигурированию ОС РВ и непосредственной загрузки в ЦЭВМ выполняются в среде этой ОС.

ЦЭВМ соединяется с ИЭВМ одним нуль-модемным кабелем и одним USB-кабелем с преобразователем USB-COM. Порт COM-A служит для связи хоста с процессорным модулем ЦЭВМ с помощью эмулятора терминала С-Kermi. Порт COM-B, эмулированный через USB, используется для работы с ЦЭВМ по протоколу SLIP.

Работа ЦЭВМ начинается с момента включения питания. После инициализации управление системой передается монитору Prime, который выводит на экран терминала заставку с информацей о конфигурации стенда (рис. 1). Дальнейшие действия зависят от режима функционирования ЦЭВМ.

Существуют два режима функционирования ЦЭВМ: «технологический» и «штатный». Переключение режимов осуществляется с помощью перемычки на процессорном модуле.

При использовании ЦЭВМ в технологическом режиме по завершении вывода заставки монитор Prime переходит в интерактивный режим и ожидает команд пользователя.

При использовании ЦЭВМ в штатном режиме по завершении вывода заставки монитор Prime запускает программу, записанную по начальному адресу РПЗУ процессорного модуля. В настоящем лабораторном практикуме в штатном режиме запускается загрузчик.

2.2. Включение лабораторного стенда

Для того, чтобы включить лабораторный стенд, необходимо выполнить следующую последовательность действий.

1.  Включить ИЭВМ, в диалоге выбора ОС выбрать FreeBSD, дождаться загрузки и появления графического окна входа в систему.

2.  Логин для входа mips, пароль mips.

3.  Открыть два окна xterm. Одно из них будет использоваться для работы на ИЭВМ (далее – «окно ИЭВМ»), другое – для работы на ЦЭВМ (далее – «окно ЦЭВМ»).

4.  Запустить файловый менеджер Midnight Commander, выполнив команду mc, в одном из окон xterm.

С помощью Midnight Commander войти в каталог /home/distribs/kermit-scripts/ и выполнить скрипт initPrime. kerm (sudo./initPrime. kerm).

5.  Выполнить сброс ЦЭВМ, нажав кнопку Reset на модуле ЦЭВМ.

3. Разработка и отладка прикладных программ

3.1.3  Инсталляция ОС РВ

Для инсталляции ОС РВ необходимо выполнить следующие действия.

i С помощью Midnight Commander перейти в каталог /home/distribs/oc2.50.20

ii Установить ОС РВ в подкаталог oc2000 своего домашнего каталога. Для этого выполнить следующую команду:

./install ~/oc2000

3.1.4  Инсталляция ППМ

Установка ППМ и ОС РВ должна осуществляться от имени одного и того же пользователя в один и тот же каталог. Для установки ППМ необходимо выполнить следующие дейтвия.

i C помощью MC перейти в каталог, содержащий дистрибутив ППМ (/home/distribs/bt83b/ppm)

ii Выполнить установку. Для этого выполнить скопировать файлы bt83b_inst. sh и ppm83b. tgz в каталог oc2000 в домашней директории, затем выполнить команду

./b*inst. sh ppm*.tgz

3.2 Конфигурирование и создание образа ОС РВ.

В процессе установки ОС РВ и ППМ в каталоге установки (~ос2000) создается каталог target, в котором содержатся подкаталоги, относящиеся к различным целевым компьютерам (платам). Каждый подкаталог содержит набор специальных служебных файлов, обеспечивающих разработку программ для конкретной целевой платформы. В настоящем лабораторном практикуме используется подкаталог bt83b. Для работы по созданию образа операционной системы нужно создать копию этого каталога (например, в домашнем каталоге пользователя). Далее будем говорить о ней как о «целевом каталоге».

Для создания образа ОС РВ необходимо перейти в целевой каталог.

Создание образа ОС производится в два этапа:

    конфигурирование, вызов программы make для построения образа ОС.

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

Напомним, что для повышения мобильности операционная система разбита на три части:

    не зависящая от аппаратуры, зависящая только от типа центрального процессора, пакет поддержки модуля (платы).

Конфигурирование производится путем условной компиляции, а также путем изменения параметров компилятора и других программ, используемых при создании образа ОС (изменения make-файла). Условная компиляция управляется DEFINE-переменными, определяемыми в модуле configos. h. Наиболее удобный способ определения конфигурации - формирование configos. h диалоговой программой. Внесение изменений в модуль configos. h вручную возможно, но не рекомендуется.

Пакет поддержки модуля (ППМ) содержит ту часть ОС, которая зависит от конкретной ЭВМ (платы). ППМ, в частности, содержит драйверы устройств и диспетчер прерываний (за исключением пролога и эпилога). Отметим, что ППМ также может конфигурироваться (например, в зависимости от состава аппаратуры). Конфигурирование ППМ производится, прежде всего, с помощью DEFINE-переменных, определяемых в модуле configbrd. h.

На первом этапе (при диалоговом конфигурировании ОС) формируются файлы configos. h и usermake. def. Последний файл (включаемый в makefile) управляет работой программы make, вызываемой на втором этапе и, в частности, содержит список файлов, из которых состоит прикладная программа.

Программа make компилирует исходные файлы ОС и/или прикладной программы, если соответствующие объектные файлы отсутствуют или изменились с момента предыдущей компиляции. Образ ОС будет собран, если он отсутствует или какая-либо часть его изменилась с предыдущего раза.

Вызов диалогового конфигуратора производится следующим образом:

make xconfig

Диалог может вестись на русском или английском языке. Настроить конфигуратор на русский язык можно с помощью команды:

export LANG=ru_RU. koi8-r

Также возможен вызов конфигуратора запуском скрипта xconfig. sh. При этом конфигуратор будет иметь английский интерфейс.
Окно конфигуратора имеет следующий вид:

Параметры конфигурирования имею древовидную структуру. Соответствующее дерево выводится в левой части окна. Одна из вершин дерева является текущей. Указать текущую вершину можно с помощью "мышки". Знак "+" рядом с именем вершины означает, что у данной вершины имеются подчиненные и можно запросить (с помощью "мышки") вывести их список. Знак "-" рядом с именем вершины помещается, если выведен список подчиненных вершин. C помощью "мышки" можно запросить убрать этот список.

Правая часть окна предназначена для ввода параметров конфигурирования, относящихся к текущей вершине. При вводе параметров конфигурирования в нижней части окна выводится соответствующее пояснение. Для вывода фрагмента документации, описывающего вводимые параметры можно использовать клавишу "F1" или кнопку "Помощь".

На верхнем уровне дерева находятся следующие группы параметров.

Ядро

Масштабирование

Библиотеки стандарта С

Взаимодействие с сетью

Файловые системы

Многопроцессорные системы

Дополнительные возможности

Подключение прикладных программ

Средства отладки

Протоколирование

Загрузчик

Далее действия по конфигурированию и созданию образа ОС РВ будут приведены для конкретного примера.

Пример. Лабораторный стенд включен и настроен в соответствии с разделами 2, 3.1 настоящего документа. Пользователь – mips.Требуется создать образ ОС РВ для загрузки в РПЗУ. Образ ОС РВ должен включать файловые системы NFS и FTP. В домашнем каталоге пользователя создан каталог ~bt83b/share, экспортируемый по NFS. В ОС РВ этот каталог должен быть смонтирован под именем /nfs:.

  i.  Скопировать в домашний каталог пользователя целевой каталог ОС РВ. Для этого выполнить следующую команду:

cp –r ~/oc2000/target/bt83b ~

  ii.  Перейти в целевой каталог ОС РВ. Для этого выполнить следующую команду:

cd ~/bt83b

  iii.  Конфигурировать образ ОС РВ. Для этого выполнить следующую команду:

make xconfig

С помощью конфигуратора настроить образ ОС РВ в соответствии со следующей таблицей:

Раздел

Поле

Значение

Scaling

Include FTP

Включить

Include NFS

Включить

Standard C Libraries

Все

Включить

Network

Include RPC

Отключить

Network Addresses

Network Addresses

Включить

Default gateway

Включить, адрес 192.168.1.1

Interface name sl0

Включить и настроить его поля

IP address

192.168.1.2

Netmask

255.255.255.255

Partner address

192.168.1.1

Host table

Host address

192.168.1.1

Slip protocol

Slip protocol

Включить

/dev/aux0

Отключить

/dev/aux1

Включить

Mount NFS

User ID

Идентификатор пользователя (можно определить с помощью команды id), например: 203

Group ID

Идентификатор пользователя (можно определить с помощью команды id), например: 203

NFS_NAME

имя файловой системы NFS на целевой машине (имя устройства), по умолчанию: nfs:

Export name

/home/<имя пользователя>/bt83b/nfs,
например:
/
home/mips/share

Mount FTP

Mount FTP

Включить

Parameters

<имя пользователя>:<пароль пользователя>@host
например: mips:mips@host

Miscellaneous

Language

LANG_ID_STRING_RU

Application

Source files

нет


4.4. Запуск и отладка программы на лабораторном стенде.

4.4.1 Загрузка целевой ЭВМ

4.4.1.1 Загрузка образа ОС РВ

Образ ОС РВ может быть загружен в процессорный модуль ЦЭВМ либо по сети (с ИЭВМ), либо из РПЗУ. Оба варианта загрузки, а также запись образа ОС РВ в РПЗУ могут быть осуществлены средствами загрузчика. Каждому способу загрузки соответствует свой формат образа ОС РВ.

Для загрузки по сети изпользуется формат. elf. Образ в формате. elf создается при использовании скрипта mb_elf.sh.

Для загрузки из РПЗУ изпользуется формат. bin. Образ в формате. bin создается при использовании скрипта mb_bin.sh.

4.4.1.1.1 Настройка загрузчика

Здесь приводятся только основные сведения о командах и параметрах загрузчика.

После записи загрузчика в РПЗУ модуль необходимо перезапустить. Загрузчик выдаст на экран терминала, подключенного к порту RS-232/0, заставку и, если в течение нескольких секунд оператор не нажмет любую клавишу, попытается перейти к загрузке ОС. Загрузчик хранит параметры загрузки в энергонезависимом ЗУ (ЭЗУ). В поставляемом модуле эти параметры в общем случае неопределены. Их необходимо сформировать, переведя загрузчик в режим настройки. Для этого необходимо после старта загрузчика нажать два раза клавишу 'Enter' на клавиатуре терминала. Загрузчик выдаст на экран приглашение '->' и будет ожидать команд оператора. Каждая команда завершается нажатием клавиши 'Enter' (в случае использования эмулятора терминала).

Выдача подсказки - команда 'h'.

Для задания/изменения сетевых параметров служит команда 'c'. Загрузчик будет выводить на экран имя параметра, его текущее значение и ожидать новое значение. Ввод '.' означает пустое значение, ввод '~' - прекращение выполнения команды 'c'. Ниже приведен пример сеанса задания сетевых параметров для интерфейса SLIP на порту 1 со скоростью 115200 бод.

boot device

sl=1,

processor number

0

host name

H

file name

oc2000

inet on ethernet

192.168.1.2

inet on backplane

.

host inet

192.168.1.1

gateway inet

192.168.1.1

user

mips

ftp passwd

mips

flags

0

target name

T

startup script

other

.

Параметр processor number изменить нельзя. Для просмотра сетевых параметров служит команда 'p'. Для сохранения параметров в ЭЗУ - команда 's'. Загрузчик умеет также вместо загрузки ОС по сети передавать управление по указанному адресу РПЗУ. В этом случае в качестве устройства загрузки нужно задать 'go=адрес' (например, go=0xb8100000).

4.4.1.1.2 Запись в РПЗУ с помощью загрузчика

Команда загрузчика j address, file записывает файл file по адресу РПЗУ address.

Пример:

j 0xb8"oc2000_202.bin"

При этом будут использоваться сетевые параметры, на которые настроен загрузчик - устройство загрузки, свой IP-адрес и IP-адрес ИЭВМ, имя пользователя и его пароль. Загрузчик использует FTP или NFS протокол (в зависимости от флагов). Размер записываемого файла не ограничивается размерами ОЗУ. Процесс записи отображается на экране терминала. При использовании устройства загрузки 'sl' в ИЭВМ должен быть активирован интерфейс SLIP.

Поскольку двоичный образ системы примерно в 3 раза меньше, чем файл типа .rec, а максимально возможная скорость порта RS-232 на протоколе SLIP - 115200 вместо 38400, то общий выигрыш во времени при использовании загрузчика для записи в РПЗУ образа ОС составит почти порядок.
ЗАМЕЧАНИЕ. В более поздних версиях ТМ возможна запись в РПЗУ двоичных файлов со скоростью 115200 бод.

Приложение 1 Загрузка файла в РПЗУ по протоколу z-modem с помощью программы ПЗУ «PRIME» и скриптов программы Kermit

В данной версии лабораторной работы загрузка файлов по протоколу Z-Modem реализована с помощью программы Kermit. Эта программа представляет собой очень мощный инструмент осуществления соединений по самым разным протоколам. Умеет она соединяться и по COM-порту.

Для упрощения загрузки файлов авторами практикума был написан скрипт U1_ZModem.kerm, располагающийся в каталоге /home/distribs/kermit-scripts инструментальной ЭВМ.

Для загрузки необходимо выполнить следующие действия, предварительно перейдя в каталог, где располагается скрипт:

Подготовить ЦЭВМ для записи файла в оперативную память по адресу 0xa0100000. Для этого в эмуляторе терминала выполнить команду:

lz 0xa0100000 b

В течение 30 секунд на инструментальной ЭВМ выполнить команду:
sudo./U1_Zmodem.kerm имя_файла

Ожидать завершения записи файла в оперативную память ЦЭВМ. При выбранной скорости в 115200 запись файла размером в 1 Мб займет около 1.2 минуты. После завершения записи файла скрипт автоматически завершится. В процессе записи на консоли управления будет отображён размер файла в байтах (HEX-значение). Будьте внимательны, это значение понадобится позднее.

Записать файл во flash-память ЦЭВМ, скопировав его из оперативной памяти. Для этого в эмуляторе терминала выполнить команду:

wfn 0xa0100000 <размер файла> <адрес flash-памяти>

где,

<размер файла> - размер файла, выраженный в байтах;

<адрес flash-памяти> - начальный адрес flash-памяти для записи файла.


Например:

wfn 0xa0100000 0x180000 0xb8000000 – для записи загрузчика

Для подтверждения записи во flash-память необходимо нажать клавишу Y.