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

БАЗОВАЯ АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ
СЕМЕЙСТВА 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. Удаление точки останова

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

Цель работы

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

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

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

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

5. Настройка симулятора

Система AT89LP Developer Studio поставляется с симулятором C51SIM. В этом разделе рассматриваются расширенные возможности C51SIM, которые позволяют выполнить тестирование и проверку кода, прежде чем использовать его на реальном микроконтроллере AT89LP. С помощью симулятора можно выполнить конфигурацию системы, определить внешние запоминающие устройства и установить конкретные fuse-биты для настройки целевого микроконтроллера. Все это предоставляет пользователю мощную среду моделирования, которая направлена на сведение к минимуму времени разработки на фактическом устройстве.

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

Диалог настройки открывается из меню «Simulator» в разделе «Options». Он специфицирует выполнение кода из внешней памяти, а также включение и отключение определенных периферийных устройств от моделируемого целевого устройства. Диалог показан на рис. 34. Первый флаг диалога позволяет чтение и запись внешнего ОЗУ. Флаги «Enable Xrom» и «Enable XramF» позволяют выполнение кода либо из внешнего ПЗУ, либо из внешнего ОЗУ. Имейте в виду, что эти параметры зависят от устройства, поэтому необходимо внимательно изучить карту адресов данных для моделируемого устройства. В дополнение к управлению памятью можно также включать или отключать внешние периферийные устройства.

рис34

Рис. 34. Диалог системной настройки симулятора

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

Диалог настройки fuse-битов симулятора в разделе «Fuse Configuration», показанный на рис. 35, позволяет в дальнейшем конфигурирование целевого устройства. Здесь можно выбрать источник синхронизации и режим работы с одним циклом выполнения инструкций или классическими 12 тактами на исполнение инструкции. Также имеется возможность управлять состоянием портов, отображением Xram и делителем системных тактов.

рис35

Рис. 35. Диалог настройки fuse-битов симулятора

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

Как отмечалось в предыдущих разделах, LPDS позволяет полное моделирование на целевом микроконтроллере как внутренних, так и внешних запоминающих устройств. Поддерживаемая память зависит от устройства. На рис. 36 показан диалог выбора файлов памяти для устройства со встроенной памятью данных Data Flash, внутренним дополнительным ОЗУ и внешним ОЗУ. Обратите внимание на файлы с расширением HEX, используемые для конкретной памяти. Используются Dat.hex для Data Flash, Xdat.hex для внешнего ОЗУ и Edat.hex для дополнительной памяти данных на чипе. LPDS также управляет файлами памяти данных, созданными во время компиляции кода проекта. Не все инструментальные средства поддерживают создание HEX файлов данных.

рис36

Рис. 36. Набор файлов памяти

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

В этом разделе дается пример того, как пользовательская программа обращающается к XRAM с помощью автоматического приращения одного из двух указателей данных AT89LP устройства. В этом примере предоставлены действия разработчика, начиная с настройки проекта и заканчивая отладкой с помощью списка наблюдения для проверки регистров целевого устройства и ячеек памяти. Пример проекта для этого упражнения можно найти на диске в «Documents\AT89LP Developer Studio\XramExample».

Начинаем упражнение с пустого ассемблерного проекта (рис. 37), который в качестве целевого устройства использует AT89LP6440.

рис37

Рис. 37. Пустой ассемблерный проект AT89LP6440

Сначала указываем внешний HEX-файл Xram, который хотим создать во внешней памяти Ram. Откройте диалог набора файлов памяти, доступный из меню «Simulator» и выберите «Set Memory Files». Диалог показан на рис. 38.

рис38

Рис. 38. Выбор внешнего файла памяти

Микроконтроллер AT89LP6440 поставляется с FData и EData в дополнение к памяти Xram, как уже упоминалось ранее. В этом примере мы хотим только настроить память Xram. Путь для HEX-Xram файла расположен во втором ряду диалога, помеченным Xram. Нажмите на кнопку справа, чтобы открыть браузер файлов и выберите HEX-Xram файл (xdat.hex), показанный на рис. 39 и нажмите кнопку «Load».

рис39

Рис. 39. Загрузка HEX файла

После того как HEX-файл загрузится, требуется написать код для чтения содержимого файла HEX-Xram. На рис. 40 показан пример проекта с использованием Xram.Там же представлен исходный код для проекта XramExample

рис40

Рис. 40. Выполнение кода с чтением Xram

В этой программе установка бита AUXR.EXRAM позволяет получить доступ ко всей 64 КБ памяти Xram. Затем разрешается функция автоматического приращения указателя данных путем установки бит DPCF.DPU1 и DPCF.DPU0 прежде, чем инициализируется указатель нулем. Фактическое чтение Xram осуществляется в цикле с меткой READ_XRAM. Остается только включить доступ к Xram в диалоге «Simulator System Configuration», который можно открыть из меню «Simulator», кликнув на флажок «Enable XRAM» и нажав кнопку «ОК». Вид диалога системный конфигурации симулятора показан на рис. 41.

рис41

Рис. 41. Разрешение доступа к Xram в диалоге системной конфигурации

Наконец, можно проверить код. Скомпилируйте проект, нажав на «Build», а затем «Start Debug» на панели инструментов. Моделируемое устройство будет сброшено с адресом 0x0000 памяти программ, указанным желтым маркером, как показано на рис. 42.

рис42

Рис. 42. Разрешение доступа к Xram в диалоге системной конфигурации

Добавьте регистры «acc»,«r4» и указатель данных dp0l» и «dp0h. Также добавьте в список наблюдения несколько ячеек памяти Xram - просто введите XData[0], XData[1] и т.д.

Пошагово выполните код и обратите внимание на значения «acc» и «r4», полученные из внешней памяти. Убедитесь, что значения, которые вы наблюдаете, соответствует значениям ячеек памяти Xram, добавленных в список. Обратите внимание, что указатель данных регистров увеличивается на единицу для каждой выполняемой инструкции movx.