- •Лабораторная работа n1. Изучение программно-аппаратных средств разработки и отладки систем на базе mc68000. Введение
- •Теоретическая часть
- •1. Программная модель мп мс68000
- •1.1 Внутренние регистры
- •Регистры данных Dn
- •Регистры адреса
- •Программный счетчик рс (Program Counter)
- •Регистр состояния sr (Status Register)
- •1.2. Форматы данных и размещение данных в памяти Форматы данных
- •Форматы команд
- •2. Структура и возможности учебного одноплатного компьютера sbc68k
- •Структура организации памяти модуля sbc68k
- •Каналы последовательного обмена.
- •Порты параллельного ввода/вывода.
- •Программируемые таймеры/счетчики.
- •Контроллер дисковода.
- •3. Встроенный монитор (отладчик)
- •Инициализация системы.
- •Символы управления терминалом.
- •Формат командной строки.
- •Выражение в качестве параметра.
- •Адрес в качестве параметра.
- •Сообщения монитора при выполнении команд.
- •Система команд монитора
- •Заполнение блока памяти (Block of memory Fill)
- •Перемещение блока (Block Move)
- •Ввод точек останова (bReakpoint)
- •Поиск ячеек памяти (Block of memory Search)
- •Преобразование данных (Data Conversion)
- •Отображение состояния регистров процессора.
- •Выполнение программы в реальном времени (go)
- •Непосредственное выполнение программы.
- •Выполнение программы до точки останова (Go unTil breakpoint)
- •Вывод справочной информации (hElp)
- •Загрузка программы в память модуля (lOad)
- •Отображение содержимого памяти (Memory Display)
- •Изменение содержимого памяти (Memory Modify)
- •Запись блока данных в память (Memory Set)
- •Удаление точек останова (nobReakpoint)
- •Отображение/изменение содержимого определенного регистра.
- •"Прозрачный" режим работы последовательных портов (Transparent Mode)
- •Трассировка (tRace)
- •Трассировка до текущей точки останова (Trace to Temporary breakpint)
- •3. Встроенный ассемблер/реассемблер.
- •Язык ассемблера mc68000.
- •Мнемонические обозначения и специальные символы
- •Список символов
- •Директива определения константы dc.W (Define Constant.Word)
- •4. Работа с сервером
- •Запуск и работа ассемблера.
- •Кросс-ассемблер. Формат записи программы.
- •Поле метки
- •Операторы в выражениях.
- •Определение методов адресации.
- •Особенности записи в ассемблере некоторых команд Команды переходов.
- •Команда movem.
- •Команды быстрых вычислений (moveq, addq, subq).
- •Директивы ассемблера. Org Установка начального адреса.
- •Equ Определение имени.
- •Set Установка имени.
- •Reg Определение набора регистров.
- •Dc Определение константы.
- •44 43 20 45 78 61 6D 70 6c 65 0d 0a 00 (в шестнадцатиричном виде). Dbc Определение блока констант.
- •Ds Резервирование памяти.
- •End Конец транслируемого файла.
- •Формат s-Record
- •Содержимое записи s-record.
- •Типы записей s-record.
- •Практическая часть
- •1. Ввод исходных данных и анализ результатов работы программы с помощью команд просмотра и модификации памяти и регистров.
- •2. Ввод программы с помощью встроенного ассемблера
- •3. Режимы выполнения программы
- •4. Подготовка, ассемблирование и загрузка программы с помощью программных средств сервера.
Каналы последовательного обмена.
В модуле SBC68K используется универсальный асинхронный приемопередатчик (УАПП) MC68681, поддерживающий два независимых дуплексных последовательных канала обмена (канал A и канал B). Микросхема имеет встроенный генератор скорости обмена. С помощью него каждый канал может быть независимо запрограммирован на скорость обмена от 50 до 38.4к бод. Оба канала последовательного обмена подключены к внешней схеме преобразования уровней (интерфейс RS-232C). Канал A используется для обмена с терминалом, канал B - для обмена с центральной ЭВМ.
Порты параллельного ввода/вывода.
Три 8-разрядных порта ввода/вывода и 4 линии квитирования обеспечиваются в модуле SBC68K контроллером параллельного интерфейса/таймера MC68000. Эти линии могут быть запрограммированы на однонаправленный и двунаправленный 8- и 16-разрядный ввод/вывод. Часть этих линий используется для связи с принтером по интерфейсу Centronics. Дополнительные линии параллельного обмена предоставляет УАПП 68681. Это 8 линий вывода и 6 линий ввода данных. Из них 5 линий вывода используются для управления работой дисковода.
Программируемые таймеры/счетчики.
Параллельный интерфейс/таймер имеет 24-разрядный таймер/счетчик общего назначения, который может использоваться, например, для генерации временных задержек с программируемыми параметрами. Синхронизация таймера/счетчика может производится от фиксированной частоты 8МГц (частота синхронизации 68230) или от внешнего генератора.
Второй таймер обеспечивается УАПП 68681. Он представляет собой 16-разрядный таймер с 4-разрядным предделителем и может быть синхронизирован от кварцевого резонатора или от внешнего генератора.
Контроллер дисковода.
В модуле SBC68K имеется контроллер дисковода WD1772-02. Логика контроллера поддерживает работу с одно- или двусторонними гибкими дисками в режиме одинарной или двойной плотности.
Для работы с дисководом в мониторе предусмотрено несколько простых подпрограмм: чтение сектора, запись сектора, чтение дорожки, запись дорожки, поиск, восстановление, шаг и выбор дисковода. Пользователь может использовать эти подпрограммы для создания операционной системы обслуживания дисковода.
3. Встроенный монитор (отладчик)
Программно-отладочные средства одноплатного компьютера SBC68K представлены встроенным монитором, который носит название TUTOR. TUTOR имеет встроенный ассемблер и реассемблер, а также предоставляет пользователю возможность ввода программ, их отладки и выполнения. Взаимодействие пользователя с монитором производится с помощью определенных команд, которые вводятся с клавиатуры терминала. Все команды общения с монитором можно разделить на четыре основных группы:
·Команды, отображения или изменения содержимого памяти;
·Команды, отображения или изменения содержимого внутренних регистров MC68000;
·Команды выполнения программы при различных уровнях контроля;
·Команды управления доступом к различным устройствам ввода/вывода в модуле SBC68K.
Инициализация системы.
После включения питания происходит инициализация модуля, в результате чего производится сброс процессора и запуск управляющего монитора TUTOR. После этого на терминал выводится следующее сообщение:
TUTOR MONITOR/DEBUG V1.32
(C) ARNEWSH, INC.
P.O. BOX 270352
FORT COLLINS, CO 80527-0352
TUTOR 1.32>
В процессе функционирования инициализировать систему можно путем нажатия клавиш "RESET" или "ABORT", находящися на плате компьютера. При нажатии клавиши "RESET" (клавиша красного цвета) производится сброс процессора MC68000, сброс всех программируемых контроллеров модуля и перезапуск монитора TUTOR. При нажатии на клавишу "ABORT" (клавиша черного цвета) производится запрос на прерывание процессора по уровню 7, что приводит к передаче управления монитору. В этом случае (в отличие от предыдущего) содержимое регистров процессора и содержимое памяти остается без изменений, процессор и периферия не сбрасываются и не происходит перезапуска монитора.