Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В нашем лабораторном практикуме мы будем использовать свободно распространяемое ПО для разработки и компиляции программ на языке «С». В качестве среды разработки, как уже указывалось, используется среда AVR Studio, которая по умолчанию настроена на использование компилятора GCC. Определение для термина «GCC» в Википедии выглядит следующим образом:
«GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.
Изначально названный GNU C Compiler поддерживал только язык Си. Позднее, GCC был расширен для компиляции исходных кодов на таких языках программирования как C++, Objective-C, Java, Фортран и Ada.»
Среди поддерживаемых архитектур данного компилятора - большой список процессоров и микроконтроллеров (в том числе Atmel AVR, ARM и др.). Работа с компилятором производится в форме командной строки, в которой задаются все необходимые для работы компилятора параметры. Для упрощения взаимодействия компилятора с графической средой разработки, а также для реализации вызова ряда других вспомогательных программ используется специальная утилита «make». Вот как описано назначение данной утилиты в Википедии:
«make — утилита, автоматизирующая процесс преобразования файлов из одной формы в другую. Чаще всего это компиляция исходного кода в объектные файлы и последующая компоновка в исполняемые файлы или библиотеки.
Утилита использует специальные make-файлы, в которых указаны зависимости файлов друг от друга и правила для их удовлетворения. На основе информации о времени последнего изменения каждого файла make определяет и запускает необходимые программы.»
Иными словами – с помощью данной утилиты мы можем выполнить необходимые нам действия с файлами проекта для достижения Цели, например, получения HEX файла прошивки.
Для описания выполняемых действий «make» используется текстовый файл «makefile». В данном файле по определенным правилам указываются Цели (задачи) и способы их достижения. Например, в качестве целей могут быть указаны следующие операции: компиляция исходных файлов, линковка, преобразование форматов, программирование (прошивка) контроллера, очистка проекта и т.д. Для достижения Цели обычно производится вызов дополнительных утилит (программ) с необходимыми параметрами, указанными в командной строке, например вызов компилятора GCC со списком файлов и параметров компиляции.
Ниже приведен простой пример «Makefile»:
CC=gcc // переменная названия программы компиляции CFLAGS=-Wall -O3 // переменная строки флагов компиляции LDFLAGS= // переменная строки флагов линковки OBJECTS=main.o foo.o bar.o // список объектов (файлов) TARGET=prog // переменная строки наименования цели RM=rm -fINSTALL=/usr/bin/install -c BINDIR=/usr/local/bin $(TARGET): $(OBJECTS) // правило достижения цели (линкованная программа) $(CC) $(LDFLAGS) -o $@ $(OBJECTS) %.o: %.c // правило получения объектного файла $(CC) $(CFLAGS) -c $< foo.o: foo.c main.h bar.o: bar.c main.hmain.o: main.c main.h clean: // правило очистки проекта $(RM) $(OBJECTS) $(TARGET) install: $(TARGET) // правило инсталляции (запуска) проекта $(INSTALL) $(TARGET) $(BINDIR)В среде AVR Studio может использоваться сгенерированный системой «Makefile», либо указан произвольный пользовательский (внешний).
Пример сгенерированного системой «Makefile»:
###############################################################################
Дата публикования: 2015-10-09; Прочитано: 984 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!