- •Знакомство со средой разработки Eclipse
- •Начало работы в Eclipse
- •Рабочие области и проекты
- •Панели отображений
- •Режимы
- •Лабораторная работа 1. СОЗДАНИЕ ПРОГРАММ НА ЯЗЫКЕ АССЕМБЛЕРА В СРЕДЕ ECLIPSE
- •1.1. Работа с проектами
- •1.1.1 Создание нового проекта
- •1.1.2. Добавление файлов, необходимых для сборки проекта
- •1.2. Работа с исходными текстами программ
- •1.3. Построение программы
- •1.4. Подготовка к отладке программы
- •1.5. Отладка программы
- •Лабораторная работа 2. СОЗДАНИЕ ПРОГРАММ НА ЯЗЫКЕ СИ В СРЕДЕ ECLIPSE
- •Приложения
- •1. Текст скелетного файла на языке ассемблера
Рис. 1.5. Проект с импортированными файлами в обозревателе проектов
|
|
|
|
|
Таблица 1.1 |
Имя файла |
|
|
Описание |
|
|
|
|
||||
At91sam7s64.inc |
Файл с символическими именами регистров периферийных |
||||
|
устройств |
и |
константами |
для |
микроконтроллера |
|
AT91SAM7S64 |
|
|
|
|
|
|
|
|
||
LdScript.lds |
Файл настройки компоновщика |
|
|
||
|
|
||||
Makefile |
Файл с правилами построения для системы автоматизации |
||||
|
сборки |
|
|
|
|
|
|
||||
J-link.gdb, Olimex.gdb, |
Командные файлы отладчика для работы с аппаратными |
||||
Simulator.gdb |
отладчиками J-Link, Olimex или симулятором соответственно |
||||
|
|
|
|||
J-link.launch, Olimex.launch, |
Заготовки профилей отладки для Eclipse |
|
|||
Simulator.launch |
|
|
|
|
|
|
|
|
|
|
|
Краткое описание заготовочных файлов для проекта на языке ассемблера приведено в табл. 1.1.
1.2. Работа с исходными текстами программ
Для того чтобы начать набор исходного текста программы на языке ассемблера, необходимо создать в проекте файл с расширением «.s».
Для этого щёлкните правой клавишей мыши при нахождении курсора над именем проекта в обозревателе проектов. Выберите пункты меню New → File. Убедитесь, что в появившемся окне (рис. 1.6) выбран текущий проект; введите в поле «File Name» имя файла, например «Lab1.s». Нажмите кнопку
«Finish».
Внимание! В названиях файлов, проектов и рабочих областей разрешается использовать только буквы латинского алфавита и цифры. Использование символов пробела и табуляции, знаков '+' и '-', символов '%', '?', '&', '#' (и др.), а также символов кириллицы не допускается.
13
Созданный файл появится в обозревателе проектов. Откройте этот файл в редакторе, дважды щёлкнув левой клавишей мыши при положении курсора над именем файла в обозревателе проектов. Наберите в редакторе текст скелетного файла из прил. 1.
Рис. 1.6. Добавление нового файла в проект Lab2
При наборе файла обратите внимание на изменения в закладке редактируемого файла: перед именем файла появится символ «*» («звёздочка»), как показано на рис. 1.7. Это признак наличия несохранённых изменений.
Рис. 1.7. Признак наличия несохранённых изменений в файле
Для того чтобы сохранить текст программы в файле, воспользуйтесь ме- ню File → Save или кнопкой на панели инструментов (см. рис. 4).
Скелетный файл представляет собой минимальную программу на языке ассемблера с примерами объявления переменных. В данном случае вся программа расположена в одном файле, хотя Eclipse и система автоматизации сборки поддерживают работу с произвольным количеством исходных файлов. Система автоматизации сборки в процессе работы просто передаёт компилятору все файлы, имеющие расширение «.s» (вне зависимости от имени файла)
14
и располагающиеся в директории проекта. При желании можно переименовать файл с исходным текстом программы через пункт «Rename» в контекстном меню файла, вызываемом правой клавишей мыши.
Если необходимо по какой-то причине сделать резервную копию файла с программой перед внесением в неё изменений, сохраните файл резервной копии в директории проекта с другим расширением (например, «.bak» или «.txt») либо
Рис. 1.8. Исходный текст программы и перечень меток в панели «Outline»
вне директории проекта. Если файл резервной копии будет иметь расширение «.s», он будет участвовать в сборке программы наряду с оригинальным файлом, что, вероятно, приведёт к конфликту символических имён и невозможности построения программы.
В правой части окна Eclipse находится панель отображения «Outline» – схематическое представление исходного кода программы (если данная панель не отображается, вызовите её через меню Window → Show View). В ней приводятся ссылки на метки в исходном тексте программы (рис. 1.8). Если текст программы не умещается целиком в области редактора, можно использовать эту панель для быстрого перехода к интересующей части программы.
1.3. Построение программы
Наберите в редакторе текст программы, представленной в прил. 2, вос- пользовавшись набранным ранее скелетным файлом.
Для того чтобы построить программу, выберите пункт меню Project → Build Project либо воспользуйтесь кнопкой на панели инструментов.
В процессе сборки в панели «Console» выводится журнал работы системы автоматизации сборки. В случае появления каких-либо ошибок при сборке он будет содержать информацию о месте возникновения ошибки. Строка
15
исходного текста программы, которая вызвала ошибку, будет подчёркнута красной волнистой линией.
**** Build of configuration Default for project Lab1 ****
make all
Compiling Program.s to Program.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=arm7tdmi - gdwarf-2 Program.s -o Program.o
Program.s: Assembler messages:
Program.s:13: Error: junk at end of line, first unrecognized character is `1'
make: *** [Program.o] Error 1
Рис. 1.9. Пример текста журнала работы системы автоматизации сборки
Так, на рис. 1.9 приведён возможный текст журнала сборки. Обратите внимание на третью снизу строчку. В ней указано имя файла и строка, в которой была обнаружена проблема («Program.s:13»). Далее, после двоеточия идёт тип проблемы («Error», т. е. «ошибка») и затем – описание ошибки. Двойной щелчок курсором мыши по строке с описанием ошибки автоматически переведёт текстовый курсор на строку исходного текста, вызвавшую ошибку. В последней строке листинга показана ошибка системы автоматизации сборки, которая возникла из-за невозможности компиляции исходного файла.
В качестве альтернативного способа для просмотра ошибок можно использовать панель «Problems». Её содержимое синхронизировано с текстом журнала сборки и отображает в табличной форме только перечень ошибок и предупреждений.
Если проект был построен успешно, в обозревателе проектов появятся, как минимум, 2 новых файла. Первый из них – файл с расширением «elf» – является исполняемым файлом. Машинный код, содержащийся в данном файле, предназначен для выполнения микроконтроллером. Второй файл имеет расширение «lst» и содержит листинг программы.
Листинг программы – это текстовый файл, в котором программа представлена в виде совмещения исходного текста и машинного кода в читаемом виде. Листинг позволяет узнать, как были скомпилированы отдельные конструкции языка программирования, где они располагаются в памяти, адреса
16