Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sp_avr_2009.doc
Скачиваний:
50
Добавлен:
21.04.2023
Размер:
819.2 Кб
Скачать

4. Интегрированная среда проектирования

AVR STUDIO 4.16

Для разработки и отладки программного обеспечения однокристальных микроконтроллеров семейства AVR разработаны программно-аппаратные средства проектирования. Ядром этих средств проектирования и отладки является программа AVR STUDIO, которая является системой IDE (Integrated Development Environment – Интегрированная среда проектирования). В данном пособии будет рассмотрена версия – AVR STUDIO 4.16. Совместно с программой AVR STUDIO 4.16 могут использоваться различные программно-аппаратные устройства, в частности эмуляторы и программаторы.

Данная версия программы имеет встроенный редактор для написания текста программы на языке ассемблера, ассемблирования исходного текста (перевода в машинные коды), отладки программы в режиме программной симуляции микроконтроллера или при использовании эмулятора на реальном кристалле. Отлаженную таким образом программу можно загрузить в энергонезависимую память программ микроконтроллера. Память программ микроконтроллера позволяет многократное (не менее 10 000 раз) электрическое стирание и электрическую запись программы. Ниже будет подробно рассмотрена работа с AVR STUDIO 4.16.

В работе с AVR STUDIO 4.16 можно выделить следующие этапы: создание нового проекта, написание текста программы, ассемблирование исходного текста, отладка программы (симуляция и эмуляция) и загрузка программы в кристалл (загрузка программы в энергонезависимую память программ микроконтроллера).

4.1. Создание проекта в интегрированной среде проектирования avr studio 4.16

При запуске AVR STUDIO появляется окно «создание/открытие» проекта (рис. 9) с кнопками «New Project» и «Open». Для создания проекта нажимаем кнопку «New Project» (новый проект).

Рис. 9. Окно создания/открытия проекта

В появившемся окне (рис. 10) требуется выбрать следующие параметры: «Project type» (тип проекта), «Project name» (имя проекта), место расположения создаваемого проекта. Рекомендуется установить флажки «Create initial file» (создание файла) и «Create folder» (создание папки). В этом случае будет создана папка проекта и файл с расширением «.asm» (initial file). В качестве типа проекта следует выбрать «Atmel AVR Assembler». При определении расположения проекта требуется обеспечить путь к папке проекта только из латинских букв. Целесообразно выбрать одинаковые имена папки проекта и файла проекта, состоящие из латинских букв и арабских цифр без пробела.

Рис. 10. Создание нового проекта

После выполнения вышеуказанных действий становятся активными кнопки «Next» и «Finish». Нажимаем «Next». В появившемся окне (рис. 11) требуется выбрать «Debug platform» (платформа отладки) и «Device» (устройство). В качестве платформы выбираем «AVR Simulator» (AVR симулятор). В качестве отлаживаемого устройства может быть выбран любой микроконтроллер AVR из предложенного в окне списка. Предлагается выбрать микроконтроллер AТmega32. После выбора платформы и устройства нажимаем кнопку «Finish». В главном окне программы открывается текстовый файл с расширением «.asm».

Рис. 11. Окно выбора отладочной платформы и микроконтроллера

Для завершения проекта необходимо написать исходный текст программы на языке ассемблер, а затем выполнить его компиляцию, т. е. перевести текст ассемблера в машинный язык. После символа «;» следуют комментарии программиста, которые не воспринимаются компилятором.

Для начала работы с интегрированной средой разработки AVR STUDIO 4.16 предлагается в окне редактора кода набрать текст готовой программы из примера 1 и выполнить его ассемблирование.

Пример 1:

START: wdr ; начало программы

ldi r16, $01 ; загрузить в регистр R16 константу 01H

ldi r17, $00 ; загрузить в регистр R17 константу 00H

mov r17, r16 ; копировать содержимое регистра R16 в регистр R17

rjmp START ; переход на метку

Теперь выполним ассемблирование и запуск программы. На вкладке «Build» выбираем команду «Build and Run». В нижней части программы в окне «Build» должно появиться сообщение

«Assembly complete, 0 errors. 0 warnings».

Данное сообщение означает, что ассемблирование выполнено успешно, ошибок и замечаний нет. Проект создан успешно.

В процессе работы рекомендуется создавать резервную копию тестового файла. Для этого требуется выделить исходный текст программы и сохранить его в любом текстовом редакторе. Сам проект копировать на резервных накопителях не требуется, так как он может быть легко создан заново.

Если в процессе ассемблирования выявлена ошибка в написании команды (ошибка синтаксиса), то компилятор поможет ее найти. Приведем пример 2, в котором намеренно допустим ошибку во второй строке программы (вместо ldi r16, напишем lda r16).

Пример 2:

START: wdr ; начало программы

lda r16, $01 ; загрузить в регистр R16 константу 01H (ошибка)

ldi r17, $00 ; загрузить в регистр R17 константу 00H

mov r17, r16 ; копировать содержимое регистра R16 в регистр R17

jmp START ; переход на метку

В окне Build появится следующее сообщение:

\Test.asm(2): error: lda: Unknown instruction or macro

\Test.asm(2): error: syntax error, unexpected ',', expecting ':'

Assembly failed, 2 errors. 0 warnings.

В данном примере появилось две ошибки. Для поиска и устранения ошибок следует в окне «Build» два раза нажать указателем мыши на строку с описанием ошибки, и тогда в исходном тексте программы будет выделена строка с данной ошибкой. После устранения всех ошибок следует снова выполнить ассемблирование.

Теперь откроем папку проекта. Предположим, проект имеет имя «Test». В данной папке находятся файлы, связанные с нашим проектом. Рассмотрим назначение основных файлов:

Test.aps – файл проекта;

Test.asm – исходный текст программы на языке ассемблера;

Test.lst – листинг программы;

Test.obj – объектный файл для отладки программы;

Test.hex – бинарный файл для загрузки программы в память программ.

Рассмотрим назначение этих файлов:

Test.aps – файл проекта, осуществляющий взаимодействие всех файлов;

Test.asm – содержит исходный текст программы на языке ассемблера. Текст программы может быть написан непосредственно в программе AVR STUDIO или в любом текстовом редакторе, а затем через буфер обмена скопирован в программу AVR STUDIO. Текст программы может содержать ошибки синтаксиса.

Test.lst – листинг программы, предназначенный только для программиста. Содержит результат работы программы ассемблер, конкретные адреса и коды команд в шестнадцатеричном коде. В случае ошибки в синтаксисе программы листинг содержит только сообщения об ошибке.

Фрагмент листинга программы «Пример 1»:

000000 95a8

000001 e001 ldi r16, $01 ; Загрузить в регистр R16 константу 01H

000002 e010 ldi r17, $00 ; Загрузить в регистр R17 константу 00H

000003 2f10 mov r17, r16 ; Копировать содержимое R16 в R17

000004 940c 0000 jmp START ; переход на метку

Registers used: 2 out of 35 (5.7%)

Instructions used: 4 out of 114 (3.5%)

Memory use summary [bytes]:

Segment Begin End Code Data Used Size Use%

---------------------------------------------------------------

[.cseg] 0x000000 0x00000c 12 0 12 unknown -

[.dseg] 0x000060 0x000060 0 0 0 unknown -

Assembly complete, 0 errors. 0 warnings

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]