Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч. пос. МПТ (2.04.12).pdf
Скачиваний:
403
Добавлен:
22.03.2015
Размер:
10.95 Mб
Скачать

Простейшая программа, не содержащая функций, составляется по следующему шаблону.

#include <LPC214x.h>

... // Объявление функций и глобальных переменных int main(void)

{

... // Объявление локальных переменных и настройка while (1)

{

... // Основной цикл программы

}

}

2.3.5 Компиляция программы

На этапе компиляции будет создан объектный код, готовый к записи в память программ микроконтроллера. Компиляция выполняется нажатием кнопки F7. При этом формируется отчет, который можно просмотреть в окне Build Output в нижней части основного окна Keil µVision. В отчете, прежде всего, следует обратить внимание на число ошибок (Errors) и предупреждений (Warnings). На рисунке 2.3.8 приведен пример отчета с ошибками, а на рисунке 2.3.9 — без ошибок.

Рисунок 2.3.8 – Отчет о компиляции Си-программы, содержащей ошибки

Рисунок 2.3.9 – Отчет о компиляции Си-программы без ошибок и предупреждений

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

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

Кроме информации об ошибках и предупреждениях в отчете приводятся сведения о расходе памяти: программ (Code), констант, хранимых в

123

оперативной памяти (RO-data), переменных (RW-data), объем памяти, выделенной под стек и динамически распределяемой памяти (ZI-data). Данная программа не потребует памяти данных, поскольку для единственной переменной k компилятор использует один из регистров общего назначения.

2.3.6 Отладка программы

Переключение между режимом редактирования программы и отладки производится комбинацией клавиш Ctrl+F5. В случае внутрисхемной отладки код программы при этом автоматически загружается в память программ микроконтроллера, и выполняются все команды до входа в основную программу main (см. раздел 2.2.3 и рисунок 2.3.6).

Общий вид окна среды Keil µVision 4 в режиме отладки показан на рисунке 2.3.10.

Перечислим основные элементы интерфейса среды Keil µVision 4:

1.Панель инструментов управления трассировкой содержит кнопки запуска, остановки и пошагового выполнения программы (см. таблицу 2.3.1).

2.Окно просмотра содержимого регистров общего назначения R0–R15 и слова состояния программы CPSR.

3.Метки зеленого цвета видны только в режиме симуляции. Они отмечают строки программы, которые были выполнены, по крайней мере, один раз. Большие фрагменты программы, оставшиеся неотмеченными даже после длительной работы программы, нередко свидетельствуют об ошибке. Это может значить, что в программе есть части, которые никогда не выполняются, например, из-за зависания программы.

4.Стрелка желтого цвета — программный курсор. Показывает команду Си-программы, которую предстоит выполнить на следующем шаге трассировки.

5.Меткой темно серого цвета отмечены строки, содержащие скомпилированную команду Си. Команда, не отмеченная темно серым цветом, чаще всего говорит о распространенной среди начинающих ошибке — программист внес изменения в программу и забыл скомпилировать.

6.Красный прямоугольник показывает точку останова. Выполнение программы будет прекращено при достижении точки останова.

7.PC $ — значение счетчика команд. Содержит адрес команды, которую предстоит выполнить на следующем шаге трассировки. Совпадает с регистром R15 и соответствует положению программного курсора (4).

8.Mode — индикатор режима ядра микроконтроллера (см. раздел

1.2.1и рисунок 1.2.1).

9.States — счетчик машинных тактов, прошедших с момента запуска программы.

10.Sec — время выполнения программы в режиме симуляции (в секундах). Равно отношению числа тактов к тактовой частоте, заданной в свой-

ствах проекта Options for Target `Target 1` Target Xtal (MHz).

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

124

1

 

2

17

 

3

16

4

 

5

 

6

 

14

15

 

7

 

 

 

 

 

 

8

 

 

 

 

 

 

9

 

 

 

 

 

10

 

 

 

 

 

1

– панель управления трассировкой;

 

– точка останова;

 

12

– окно дизассемблера;

6

 

2

– регистры общего назначения;

7

– счетчик команд;

 

13

– окно просмотра переменных;

3

– выполненные команда Си;

8

– режим ядра;

 

14

– окно редактора Си-программы;

4, 11 – программные курсоры;

9, 10 – число тактов и время

 

15

– отчет о компиляции;

5

– скомпилированная строка;

 

выполнения программы;

 

16

– вкладка файла конфигурации;

Рисунок 2.3.10 – Основное окно Keil µVision 4 в режиме отладки

18 11

12

13

17 – логический анализатор и хронометраж;

18 – панель управления точками останова

125

Таблица 2.3.1 – Основные команды отладчика Keil μVision 4

Операция

Сочетание

Кнопка

Пункт меню

клавиш

 

 

 

Компиляция

F7

 

Project Build target

 

 

 

 

Режим «Программи-

Ctrl+F5

 

Debug Start/Stop Debug

рование» / «Отладка»

 

Session

 

 

Запуск программы

F5

 

Debug Run

 

 

 

 

Остановка программы

 

 

Debug Stop

 

 

 

 

Системный сброс

 

 

Debug Reset CPU

 

 

 

 

Пошаговое

 

 

 

выполнение с заходом

F11

 

Debug Step

в подпрограммы

 

 

 

Пошаговое

 

 

 

выполнение без захода

F10

 

Debug Step Over

в подпрограммы

 

 

 

Выполнение до выхо-

Ctrl+F11

 

Debug Step Out

да из подпрограммы

 

 

 

 

Выполнение

Ctrl+F10

 

Debug Run To Cursor Line

до позиции курсора

 

 

 

 

Точка останова

F9

 

Debug

 

Insert/Remove Breakpoint

 

 

 

Удалить все точки

Ctrl+

 

Debug Kill All Breakpoints

останова

+Shift+F9

 

 

 

Счетчик команд PC содержит адрес инструкции, на которую указывает этот программный курсор.

12.Окно дизассемблера. Содержит инструкции ядра, сгенерированные компилятором на основе текста Си-программы (см. разделы 1.3, 1.4). Листинг оформлен в четыре колонки: адрес команды, код команды, мнемоническое обозначение команды и список операндов. Темно красным цветом выделена строка исходного текста программы, для которой ниже приведен дизассемблированный код.

13.Окно просмотра переменных Watch служит для наблюдения за значениями переменных и их редактирования. Добавление новой переменной

ксписку осуществляется нажатием кнопки F2.

14.Окно редактора исходного текста программы.

15.В окно отчета о компиляции выводится информации об ошибках и предупреждениях, а также о расходе памяти микроконтроллера.

16.Вкладка редактора файла конфигурации Startup.s, генерируемого автоматически и содержащего команды ассемблера для инициализации микроконтроллера.

17.Кнопка вызова отладочных инструментов хронометража (Performance Analyzer) и логического анализатора (Logic Analyzer).

126