Электронные системы ускорителей

БАЗОВАЯ АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ
СЕМЕЙСТВА AT89LP51/52

Особенности архитектуры

1. ОБЗОР АРХИТЕКТУРЫ

1.1. Выполнение инструкций

1.2. Системная синхронизация

1.3. Сброс

1.4. Таймеры/счетчики

1.5. Управление прерыванием

1.6. Последовательный порт

1.7. Порты ввода/вывода

1.8. Безопасность

1.9. Программирование

2. ОРГАНИЗАЦИЯ ПАМЯТИ

2.1. Память программ

2.1.1. Интерфейс памяти программ

2.1.2. Сигнатура

2.2. Внутренняя память данных

2.2.1. DATA

2.2.2. IDATA

2.2.3. SFR

2.3. Внешняя память данных

2.3.1. XDATA

2.3.2. FDATA

2.3.3. Интерфейс внешней памяти данных

3. РЕГИСТРЫ СПЕЦИАЛЬНЫХ ФУНКЦИЙ SFR

3.1. Карта SFR

3.2. Слово состояния программы

3.3. Указатель стека

4. ПРОЦЕССОР

4.1. Быстрый режим

4.2. Расширенные указатели данных

4.3. Прерывания

ПОЛНОЕ ОПИСАНИЕ МИКРОКОНТРОЛЛЕРОВ AT89LP51/52

ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ
"AT89LP Developer Studio"

Основные сведения

1. ОСНОВНЫЕ ЭЛЕМЕНТЫ СРЕДЫ РАЗРАБОТКИ

1.1. Пользовательский интерфейс

1.1.1. Окно решений

1.1.2. Окно вывода

1.1.3. Список наблюдения

1.2. Запуск среды разработки

1.2.1. Открытие существующего проекта

1.2.2. Создание нового проекта

2. ОТЛАДКА ПРИЛОЖЕНИЯ

2.1. Терминология

2.2. Команды управления

2.3. Точки останова

2.4. Пример отладки

2.5. Загрузка проекта

2.6. Настройка симулятора для целевого устройства

2.7. Ассемблирование программы

2.8. Начало сессии отладки

2.8.1. Проверка внутреннего состояния микроконтроллера

2.8.2. Команды отладки

2.8.3. Одиночный шаг

2.8.4. Мониторинг целевых регистров

2.8.5. Установка точек останова

2.8.6. Выполнение кода и остановка на точке останова

2.8.7. Выход из отладки

3. ОКНА

3.1. Просмотр файлов

3.2. Ввод/вывод

3.3. Информация

3.4. Конфигурация проекта

3.5. Вид сборки

3.6. Отладка

3.7. Список наблюдения

3.8. Статическое представление памяти

3.9. Редактор

3.10. Дизассемблер

4. МЕНЮ И ПАНЕЛЬ ИНСТРУМЕНТОВ

4.1. Меню разработчика

4.2. Меню файлов

4.3. Меню редактора

4.4. Меню симулятора

4.5. Меню микроконтроллера

4.6. Меню отладки

4.7. Меню инструментов

4.8. Меню вида

4.9. Меню окон

4.10. Меню помощи

4.11. Меню лицензий

4.12. Меню Стандартная панель инструментов

4.13. Панель инструментов редактора

4.14. Панель инструментов отладчика

4.15. Панель инструментов управления потоком

5. НАСТРОЙКА СИМУЛЯТОРА

5.1. Системная настройка симулятора

5.2. Настройка fuse-битов симулятора

5.3. Набор файлов памяти

5.4. Настройка симулятора для доступа к XRAM

6. НАСТРОЙКА ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ

6.1. Выбор инструментальных средств

6.2. Определение параметров для инструментов

7. ОТЛАДКА

7.1. Расширенные контрольные точки

7.1.1. Типы контрольных точек

7.1.2. Диапазон точек останова

7.1.3. Контрольные точки данных

7.1.4. Точки останова по ссылке

7.1.5. Установка точек останова

7.1.6. Добавление точки останова

7.1.7. Удаление точки останова

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ

Цель работы

Предварительное задание

Задание и порядок выполнения работы

Оформление отчета

Вопросы к защите

7. Отладка в LPDS

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

7.1. Расширенные контрольные точки

Из раздела 2 мы узнали, что такое точка останова и для чего она нужна при отладке. Там использовались точки останова по адресу программы, которые являются простейшей формой останова. Для останова по адресу указывается адрес программы и целевое устройство, чип или симулятор, в режиме выполнения отладки. Когда программный счетчик достигает заданный адрес целевого устройства, оно будет остановлено для входа в режим отладки. Ниже рассматриваются расширенные контрольные точки, доступные для AT89LP и LPDS.

7.1.1. Типы контрольных точек

Микроконтроллеры фирмы Atmel предлагает 3 типа точек останова: по адресу программы, диапазону и контрольным точкам данных. Точки останова по адресу программы переводят в режим отладки по указанному адресу. Диапазон и контрольные точки данных требуют более подробного описания (см. дальше).

7.1.2 Диапазон точек останова

Диапазон точек останова задается с помощью базового адреса программы и значения маски адреса.

Микроконтроллер маскирует указанный базовый адрес программы значением маски и переходит в режим отладки, когда адрес программы соответствует замаскированному базовому адресу.

Операция маскирования похожа на маскирование автоматического распознавания адреса приемопередатчиком последовательного канала связи:

• '1' в маске = «учетный бит» базового адреса;

• '0' в маске = «неучетный бит» базового адреса.

Так, например, если базовый адрес (в двоичной системе) составляет:

1100 1010

а маска составляет:

1111 1000

Тогда в результате адресами останова (в двоичной системе) являются:

1100 1xxx (тот же базовый адрес с особым случаем, что любой '0' в маске делает бит в адресе точек останова не существенным).

7.1.3. Контрольные точки данных

Точки останова данных генерируется всякий раз, когда доступ микроконтроллера к внешней памяти данных осуществляется инструкцией MOVX по адресу, указанному пользователем. Условия перехода к отладке могут быть специфицированы доступом для чтения, записи, или для обоих случаев.

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

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

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

Число точек прерывания, доступных на устройстве зависит от целевого микроконтроллера LP. Некоторые микроконтроллеры LP реализуют 4 точки останова по адресу программы, другие предлагают 4 дополнительных расширенных контрольных точек.

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

7.1.4. Точки останова по ссылке

Точками останова по ссылке являются точки останова по адресу программы, управляемые на плате разработки внешне по отношению к LP устройству. Разницей между точками останова аппаратными и по ссылке является производительность. Останов по ссылке замедляет выполнение отладки при использовании команды «Run». Это связано с дополнительными накладными расходами, так как имеется управление устройством, при котором проверяются адреса всех инструкций для того, чтобы следить за совпадением их с адресом ссылки на точки останова.

7.1.5 Установка точек останова

Для обеих отладочных платформ симулятора и устройства, точки останова по адресу программы могут включаться и выключаться нажатием кнопки «Toggle Breakpoint» на панели отладки. Также может быть использована для выполнения той же работы горячая клавиша 'F9'.

Расширенные точки останова устанавливаются, разрешаются и запрещаются с помощью настройки менеджера точек останова LPDS. На рис. 47 показан менеджер точек останова для отладки на платформе устройства. Менеджер точки останова для отладки на платформе симулятора показан на рис. 48.

рис47

Рис. 47. Менеджер точек останова для платформы устройства

рис48

Рис. 48. Менеджер точек останова для платформы симулятора

7.1.6. Добавление точки останова

1. Войти в режим отладки, щелкнув Debug -> Start Debug

2. Открыть диспетчер конфигурации точки останова, нажав Chip -> Breakpoint Configuration

3. Выбрать цель для останова: чип или ссылку

Примечание: Не рекомендуется использовать точки останова по ссылке

4. Выбрать тип точки останова: Program Address, Range или Data

5. Указать адрес программы точки останова и, при желании, настроить его в качестве точки останова Range путем задания значения маски

6. Разрешить или запретить точки останова, нажав соответствующие флажки слева от точки останова

7.1.7. Удаление точки останова

1. В менеджере конфигурации точек останова щелкнуть левой кнопкой мыши и выделить номер точки останова.

2. Нажать кнопку Remove.