СИСТЕМЫ РАЗРАБОТКИ ПО

В данном параграфе кратко рассмотрены системы, которые используются при разработке программ для микропроцессоров. Поскольку для разработки ПО трудно использовать сами микропроцессоры, было создано множество систем, которые позволяют разрабатывать программы с помощью специального ПО и периферийных устройств, а затем переносить их на ту ЭВМ, где они будут выполняться. Имеются три типа систем разработки ПО: 1) микромашинные, 2) использующие системы разделения времени и 3) системы, основанные на других ЭВМ. Некоторые особенности этих систем были рассмотрены в предыдущих параграфах.

Микромашинная система разработки состоит из соответствующей микро-ЭВМ (или ее эмулятора), дополненной аппаратурой и ПО, облегчающими процесс разработки. В общем случае системы разработки имеют следующие средства:

1) индикации на лицевой панели, позволяющие программисту отслеживать содержимое шин и ячеек памяти;

2) для изменения содержимого ячеек памяти;

3) позволяющие осуществить запуск процессора в определенном состоянии;

4) одношаговый режим, позволяющий в процессе отладки осуществлять покомандное выполнение программы;

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

6) ПЗУ и ППЗУ, которые могут использоваться в качестве памяти программ;

7) интерфейсы для подключения телетайпов и других стандартйых устройств ввода-вывода, типа устройств ввода с перфоленты, клавиатур, дисплеев на светодиодах, построчно или посимвольно печатающих устройств, кассетных накопителей на магнитных лентах и накопителей на гибких дисках;

8) начальный загрузчик, осуществляющий ввод в память' микро-ЭВМ таких про-грамм, как стандартный загрузчик;

9) служебные программы (утилиты), загружающие программы в память ЭВМ с клавиатуры или с перфолент.

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

К числу других средств, предоставляемых большинством систем разработки, относятся:

1) собственно ассемблер;

2) системный монитор;

3) средства задания контрольных точек или инициирования трассировок;

4) коннекторы для подключения внешних устройств к шинам процессоров;

5) редактор, который можно использовать для внесения небольших изменений в программах пользователя.

На рис. 6.20 приведена структурная схема процесса разработки программы с помощью простой системы разработки. Такой процесс занимает много времени, поскольку телетайп (рис. 6.21) работает медленно. Он печатает информацию со скоростью 10 символов/с. Кроме того, он предназначен для выдачи небольших объемов и не может систематически использоваться для выдачи длинных листингов. Устройство ввода с перфоленты вводит 10 символов/с. В результате для ввода в ЭВМ ассемблера или длинной программы пользователя может потребоваться около 30 мин.

Скорость ввода-вывода информации можно увеличить за счет использования дополнительных средств. Следует, однако, иметь в виду, что каждое из таких средств стоит значительно дороже, чем простая система, основанная на стандартном телетайпе. К числу дополнительных средств относятся:

1. Быстродействующее устройство ввода с перфоленты и вывода на яерфолеиту (рис. 6.22). Быстродействующее устройство ввода с перфоленты вводит информацию со скоростью 300 символов/с. Такое устройство позволяет уменьшить время ввода программы до нескольких .минут.

2. Кассетный накопитель на магнитной ленте (рис. 6.23). Это устройство имеет такое же быстродействие, как и быстродействующее устройство ввода с перфоленты, и представляет собой более удобное (хотя и более дорогое) средство хранения информации. Для подключения кассетного накопителя также потребуется свой интерфейс, так как в большинстве систем этот интерфейс отличается от стандартного, используемого для подключения телетайпа. Производительность кассетных накопителей изменяется в широких пределах, некотЬрые из них оказываются недостаточно помехоустойчивыми для использования в ЭВМ.

3. Накопитель на гибком диске (рис. 6.24). На таком накопителе легко хранить и выбирать программы, так как среднее время доступа этого устройства существенно меньше, чем у кассетных накопителей и устройств ввода с перфоленты. Однако накопитель на гибком диске очень дорог и требует развитого программного обеспечения.

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

5. Дисплеи на базе ЭЛТ. Такой дисплей более удобен яри отладке и редактировании программ, чем печатающее устройство. Однако могут возникнуть сложности обеспечения интерфейса с дисплеем; кроме того, дисплей не обеспечивает твердой копии данных.

6. Интерактивный редактор. Программа-редактор удобна для внесения небольших изменений в программы, но требует большого объема памяти.

Удобная микромашинная система разработки должна иметь в своем составе механизм быстрого получения твердой копии и достаточный объем памяти. Очень полезным может быть также дисплей на базе ЭЛТ. Очевидно, что чем больше возможностей имеет система разработки, тем более удобной (и дорогой) она становится. На рис. 6.25 показана типичная система разработки небольшого размера, в которой имеется клавиатура для ввода данных, пульт управления оператора, дисплей и два кассетных НМЛ.

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

1) часы реального времени;

2) система ввода аналоговых сигналов;

3) модули АЦП и ЦАП;

4) модули подсчета частоты;

, 5) подключаемые на зажимах интерфейсы, позволяющие подключать к системе платы прототипов и управлять ими с пульта;

6) программаторы ППЗУ, которые могут использовать внешнюю оперативную память. В этом случае ППЗУ могут программироваться непосредственно системой разработки;

7) модули, имитирующие ПЗУ;

8) контроллеры прерывания и прямого доступа к памяти (ПДП);

9) интерфейсы для УАПП;

10) сенсорные переключатели, значения которых могут считываться из программы;

11) интерфейсы стандартной шины;

12) модули контроллеров двигателей.

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

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

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

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

Некоторые системы разработки основаны на мини-ЭВМ. Большие мини-ЭВМ обычно имеют в своем составе быстродействующее печатающее устройство, развитый редактор, интерактивный дисплейный терминал и большой накопитель на дисках. Такая мини-ЭВМ также удобна для разработки ПО, как и система разделения времени. Кроме того, можно организовать интерфейс с шиной ввода-вывода мини-ЭВМ, который позволит передавать объектный код, получаемый в мини-ЭВМ, непосредственно в ОЗУ микро-ЭВМ. На рис. 6.28 представлена структурная схема подобной системы.

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

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