Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания - Eclipse.pdf
Скачиваний:
84
Добавлен:
18.05.2014
Размер:
971.66 Кб
Скачать

Рис. 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