Cтраница 2
Кросс-программное обеспечение включает в себя имитатор, кросс-ассемблер и кросс-компилятор. [16]
Для многих широко применяемых 32-разрядных МП имеются кросс-ассемблеры и кросс-компиляторы, снабженные возможностями символьной отладки. Это позволяет разрабатывать программное обеспечение на супермини - ЭВМ, таких, как VAX, и впоследствии перегружать его в целевую машину, содержащую программу-монитор. [17]
Программа для микропроцессорной системы обычно транслируется с помощью кросс-ассемблера или кросс-компилятора. Объясняется это тем, что микропроцессорные системы предназначены в основном для решения задач управления и им не хватает объема памяти и периферийного оборудования для решения сложных задач обработки текстов и символьной информации, которые возникают при трансляции исходных программ. В таком случае сначала на какой-либо ЭВМ с помощью кросс-ассемблера или кросс-компилятора транслируют исходную программу в объектную, а затем полученную объектную программу помещают в память микропроцессорной системы для выполнения. [18]
![]() |
Применение кросс-ассемблеров и моделирующих программ. [19] |
Использование кросс-ассемблера при проектировании программ показано на рис. 8.1. Выходами кросс-ассемблера являются листинг и загрузочный модуль. Листинг содержит номер строки, адрес, машинный код каждой команды, а также входную программу. Формируется также таблица перекрестных обращений с символическими наименованиями входной программы и их адресами. Идентифицируются типы и места ошибок, поэтому входную программу можно легко исправить и реассемблировать. После исправления ошибок загрузочный модуль можно ввести в моделирующую программу, которая имитирует выполнение каждой команды. [20]
При этом в процессе создания операционной системы реального времени, как правило используются кросс-ассемблеры, и кросс-компиляторы. Такие ас - семблеры и компиляторы, выполняясь на одних машинах, генерируют коды для других машин. Метаассемблером называется ассемблер, способный генерировать коды для машин любой архитектуры при соответствующем описании этой архитектуры. [21]
Чтобы облегчить разработку математического обеспечения для интеллектуального терминала, на основной ЭВМ был создан кросс-ассемблер. Это позволяет хранить тексты программ на исходном языке в основной ЭВМ и редактировать их в режиме разделения времени. Основная проблема, связанная с использованием кросс-ассемблера ( не считая затрат времени и сил на его написание), состоит в транспортировке объектного кода, являющегося выходом ассемблера, в интеллектуальный терминал для выполнения. Для решения этой проблемы был создан двоичный загрузчик, передающий объектный код в терминал по телефонным линиям связи. Загрузчик размещается частично в основной ЭВМ, частично в терминале. Часть, находящаяся в основной ЭВМ, кодирует одно 16-разрядное машинное слово тремя 6-разрядными литерами, что позволяет использовать стандартный набор литер системы с разделением времени. Два дополнительных разряда применяются для обнаружения ошибок. Кроме того, каждый блок литер сопровождается контрольной суммой ( в виде 6-разрядного кода литеры), что помогает обнаружить исчезновение символов. Если ошибка выявлена, программа в терминале требует повторения передачи последнего блока. Часть загрузчика, находящаяся в терминале, декодирует поступающие строки литер в двоичные машинные слова и помещает их в соответствующие ячейки памяти. [22]
Моделирующая программа имеет входы от двух источников, одним из которых является загрузочный модуль кросс-ассемблера. Второй входной источник - пользователь, который вводит приказы. В диалоговой системе пользователь последовательно вводит приказы через терминал и наблюдает индицируемые результаты для определения следующего приказа. Такая интерактивная среда делает моделирующую программу ценным отладочным средством. В пакетной операционной системе загрузочный модуль и приказы вводятся как карты данных и моделирование не столь эффективно, как в интерактивной системе. [23]
Моделирующие программы предназначены для отладки объектных программ, полученных после их ассемблирования с помощью кросс-ассемблера. В этих программах все регистры разрабатываемой микроЭВМ и ячейки ее памяти представлены ячейками памяти универсальной ЭВМ. Моделирующая программа имитирует выполнение каждой команды объектной программы с соответствующим преобразованием этих ячеек. Процессом выполнения программы можно управлять с помощью клавиатуры дисплея, на экран которого выводится вся необходимая для отладки информация. [24]
К числу служебных программ, относящихся к кросс-программному обеспечению, следует отнести: имитатор, кросс-ассемблер, кросс-компилятор. [25]
![]() |
Программа на ассемблере. [26] |
При разработке программного обеспечения для микропроцессоров и миникомпьютеров желательно использовать специальные языковые трансляторы, известные как кросс-ассемблеры или кросс-компиляторы. Такие трансляторы обычно имеются на универсальных ЭВМ, так что при создании программного обеспечения для микрокомпьютера можно опираться на мощь и возможности больших машин. [27]
Универсальные ЭВМ любого типа ( большие ЭВМ, мини - ЭВМ или персональные ЭВМ) часто снабжают кросс-ассемблерами и имитаторами для подготовки и отладки программ многих микропроцессорных систем. [28]
![]() |
Символы Ассемблера. [29] |
Для разработки программ реализации алгоритмов ЦОС используются, как правило, кросс-средства, к которым относятся прежде всего кросс-компиляторы с языков высокого уровня ( C и др.) и кросс-ассемблер. Однако, Ассемблер для DSP обладает особенностями. Ниже приводятся директивы Ассемблера для DSP фирмы Motorola, которые являются общими для всех семейств. [30]