Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[19]

9.Программные средства для микроконтроллеров семейства MCS-51.

•Дизассемблеры для MCS-51

•Интегрированная отладочная среда ProView для микроконтроллеров семейства MCS-51, 251, XA

•Интегрированная отладочная среда mVision2

•Интегрированная отладочная среда для ADuC812

•Компиляторы с языка ассемблер для микроконтроллеров семейства MCS-51

•Библиотека для работы с числами с плавающей запятой (2,5 Kb)

9.1.Дизассемблеры MCS-51.

Дизассемблер предназначен для преобразования исполняемого кода микроконтроллеров MCS-51 в текст программы на языке ассемблера.

Форматы входных данных: HEX, OBJ, BIN. Работа производится с помощью системы меню. Поддерживаются процессоры:

•8051/8031

•8052/8032

•80512/80532

•80(C)515/80(C)535

•80C517/80C537

•80C515A/80C535A

•80C517A/80C537A

•8035/8048/8041

•z80

а также их модификации.

•Дизассемблер для MCS-51 (32 Kb)

•Дизассемблер для 8051/8052, z80, 8035/8048/8041 с исходниками (266Kb)

•Дизассемблер INTEL 8051 (24Kb)

9.2. Введение в интегрированную отладочную среду ProView для микроконтроллеров семейства MCS-51, 251, XA

( ProView V3.1 (13 681 Kb)

ProView фирмы Franklin Software Inc. - интегрированная среда разработки программного обеспечения для однокристальных микроконтроллеров семейства Intel 8051 и его клонов. Она включает в себя всё, что нужно для создания, редактирования, компиляции, трансляции, компоновки, загрузки и отладки программ:

1.стандартный интерфейс Windows,

2.полнофункциональный редактор исходных текстов с выделением синтаксических элементов цветом,

3.организатор проекта,

4.транслятор с языка C,

5.ассемблер,

6.отладчик,

7.встроенную справочную систему.

Среда разработки подобна Visual C++ Microsoft и Borland C++ для Windows. Пользователи, знакомые с любым из этих изделий, будут чувствовать себя в ProView, как дома.

Первый этап разработки программы - запись её исходного текста на каком-либо языке программирования.

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

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

ProView объединяет все этапы разработки прикладной программы в единый рекурсивный процесс, когда в любой момент времени возможен быстрый возврат к любому предыдущему этапу.

ProView имеет следующие компоненты.


9.2.1.Оптимизирующий кросс-компилятор C51.

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

C51 - полная реализация стандарта ANSI (Американского национального института стандартов), насколько это возможно для архитектуры Intel 8051. C51 генерирует код для всего семейства микроконтроллеров Intel 8051. Транслятор сочетает гибкость программирования на языке C с эффективностью кода и быстродействием ассемблера.

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

8.глубокого знания системы команд процессора не требуется, элементарное знание архитектуры Intel

8051 желательно, но не необходимо;

9.распределение регистров и способы адресации управляются полностью транслятором;

10.лучшая читаемость программы, используются ключевые слова и функции, которые более

свойственны человеческой мысли;

11.время разработки программ и их отладки значительно короче в сравнении с программированием на

ассемблере;

12.библиотечные файлы содержат много стандартных подпрограмм, которые могут быть включены в прикладную программу;

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

9.2.2.Макроассемблер А51.

Ассемблер A51 совместим с ASM51 Intel для всего семейства микроконтроллеров Intel 8051. Ассемблер транслирует символическую мнемонику в перемещаемый объектный код, имеющий высокое быстродействие и малый размер. Макросредства ускоряют разработку и экономят время, поскольку общие последовательности могут быть разработаны только один раз. Ассемблер поддерживает символический доступ ко всем элементам микроконтроллера и перестраивает конфигурацию для каждой разновидности

Intel 8051.

A51 транслирует исходный файл ассемблера в перемещаемый объектный модуль. При отладке или при включенной опции "Include debugging information" этот объектный файл будет содержать полную символическую информацию для отладчика/имитатора или внутрисхемного эмулятора.

9.2.3.Компоновщик L51.

Компоновщик объединяет один или несколько объектных модулей в одну исполняемую программу. Компоновщик размещает внешние и общие ссылки, назначает абсолютные адреса перемещаемым сегментам программ. Он может обрабатывать объектные модули, созданные транслятором C51, ассемблером A51, транслятором PL/M-51 Intel и ассемблером ASM51 Intel.

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

9.2.4.Отладчик/симулятор WinSim51.

Отладчик исходных текстов используется с транслятором C51, ассемблером A51, транслятором PL/M-51 Intel и ассемблером ASM51 Intel. Отладчик/симулятор позволяет моделировать большинство особенностей Intel 8051 без наличия аппаратных средств. Можно использовать его для проверки и отладки прикладной программы прежде, чем будут изготовлены аппаратные средства. При этом моделируется широкое разнообразие периферийных устройств, включая последовательный порт, внешний ввод - вывод и таймеры.

9.3. Быстрый старт.

"Быстрый старт" - это обычный приём разработчиков современных программных средств. Цель состоит в том, чтобы, не углубляясь пока в подробности, дать новичку или достаточно опытному пользователю первое представление о программном средстве, дать возможность быстро получить конкретный результат. Полное представление, знания и умения появятся позже в процессе работы и изучения справочных материалов.

В качестве примера возьмём простейшую программу, с которой начинают изучение языков программирования многие поколения студентов. "Hello World" - программа из папки \Fsi\Examples\Hello\,


которая выдаёт в последовательный порт (UART) микроконтроллера строку символов "Hello World" ("Привет Мир"). Весь исходный текст программы содержится в файле hello.c:

/***************************/

/* YOUR FIRST 8051 PROGRAM */

/***************************/

#include <reg51.h> /* special function register declarations */

/* for the intended 8051 derivative */ #include <stdio.h> /* prototype declarations for I/O functions*/

/****************/

/* main program */

/****************/

void main (void) { SCON = 0x50; TMOD = 0x20;

TH1 = 0xf3; TR1 = 1; TI = 1;

}

/* execution starts here after stack init */ /* SCON: mode 1, 8-bit UART, enable rcvr */ /* TMOD: timer 1, mode 2, 8-bit reload */ /* TH1: reload value for 2400 baud */ /* TR1: timer 1 run*/

/* TI: set TI to send first char of UART*/ printf ("Hello World\n"); /* the printf function call*/

while (1) {/* An embedded program does not stop and */

; /* ... */ /* never returns. Weve used an endless */ }/* loop. You may wish to put in your own */

/* code were weve printed the dots (... ) */

Прежде чем начать разработку проекта, скопируйте папку \Fsi\Examples\Hello\ в свою личную папку. В этой папке находится всего лишь один файл hello.c.

9.3.1.Запуск ProView и создание файла проекта.

ProView запускается из стартового меню Windows подобно остальным приложениям. Если необходимо запустить программу из командной строки, её синтаксис имеет вид: PV32 [projectfile], где projectfile - имя файла проекта с расширением [.PRJ].

Любая новая работа в ProView, как и во всех современных компиляторах, начинается с создания нового файла проекта. Файл проекта содержит имена всех исходных файлов, связанных с проектом, а также установки компиляции, трансляции и связывания файлов, чтобы генерировать выполняемую программу.

Для того чтобы создать новый файл проекта, выберите New из меню Project. Откроется диалоговое окно New Project. Используйте кнопку Browse, чтобы войти в свою папку. Найдите папку \Hello и нажмите кнопку [OK]. Затем выберите "8051" как тип проекта.

Когда менеджер проекта открывает файл проекта, окно проекта показывает включенные исходные файлы. В данном случае пока нет никаких исходных файлов. Имеется только один исходный файл, который необходимо подключить - hello.c.

9.3.2.Добавка файла с исходным текстом и его редактирование.

Теперь можно добавить hello.c к проекту. Выберите Add file из меню Project. Откроется диалоговое окно Add File . Выберите hello.c из списка.

Наш проект имеет только один исходный файл. В дальнейшем Ваши проекты, возможно, будут состоять из множества исходных файлов. Диалог Add File позволит Вам выбрать и добавить несколько файлов сразу. Для этого используют комбинацию клавиши [CTRL] и указателя мыши. Когда Вы нажмёте [Open], исходные файлы будут добавлены к проекту в выбранном порядке.

Теперь можно редактировать текст из файла hello.c. Выберите hello.c из окна Project (рис. 19). Нажмите его правой кнопкой мыши и выберите View source file, или просто дважды щёлкните мышью для того, чтобы просматривать файл в окне редактирования.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23]