Вам наверное известно, что для создания AVR-приложений необходимо, чтобы были установлены три основных пакета из комплекта AVR GCC: - avr-gcc компилятор и ассемблер , - avr-binutils компоновщик и ряд полезных инструментов - avr-libc стандартная библиотека С для процессоров Atmel AVR. Современные популярные дистрибутивы Linux содержат пакеты AVR GCC в своих репозиториях. Теперь, когда установлены и Code::Blocks, и AVR GCC, можно приниматься за дело. Слева расположена панель «Management», три вкладки которой так или иначе имеют отношение к проекту. На первой вкладке, «Projects», приводится список открытых в рабочем пространстве проектов и файлов этих проектов. Файлы автоматически разделяются на три секции: «Sources» «исходные тексты» , «Headers» «заголовочные файлы» и «Others» «другие». Двойное нажатие на имени файла открывает его в редакторе. Двойное нажатие на любом из этих элементов приведет к перемещению на него курсора в редакторе. Общий вид Code::Blocks Если еще ни одного проекта в рабочем пространстве не создано, то после запуска Code::Blocks в центральной панели активна только вкладка «Start here». В любом случае откроется окно выбора шаблона будущего проекта, в котором мы указываем шаблон «AVR Project» и нажимаем кнопку «Go». Появится приветственное окно мастера создания AVR-проекта. Нажмите кнопку «Next» и в открывшемся диалоговом окне введите название проекта и каталог, в котором он будет находиться. Далее следует нажать кнопку «Next». В следующем окне мы указываем тип целевого процессора, выбрав его из выпадающего списка позже это можно сделать в параметрах компиляции. Если в проекте используется внешняя память, стоит указать ее параметры. По умолчанию включено создание файла карты символов. Еще полезно включить параметр «Run avr-size after build» — тогда в конце журнала сборки проекта появится информация о том, сколько места будет занято в памяти программ и в оперативной памяти. Нажмите кнопку «Finish» рисунок 2. Последнее окно мастера создания AVR-проекта Если проект создан с помощью шаблона AVR-проекта, то практически сразу можно перейти к программированию. Тем не менее, мы пройдемся по основным параметрам, чтобы убедиться, что все настроено правильно. Откроется окно настроек параметров сборки рисунок 3. В левой панели находится дерево целей сборки. На самом верхнем его уровне — настройки сборки для всего проекта. Удобнее всего сначала указать параметры для всего проекта, а уже затем добавлять что-то в отдельных вариантах сборки. Параметры сборки проекта Прежде всего нужно убедиться в том, что в поле «Selected Compiler» выбран «GNU AVR GCC Compiler». Ниже, на вкладке «Compiler Flags», приводятся флаги компилятора. По умолчанию здесь уже включен полезный флаг «Enable all compiler warnings». Также стоит убедиться в том, что мы правильно выбрали тип процессора, для которого разрабатывается проект. Перейдите к вкладке «Search directories». Для этого воспользуйтесь кнопкой «Добавить» и впишите правильный путь. В поле «Post-build steps» можно увидеть команды для запуска утилит avr-size, avr-objcopy, avr-objdump. Например, для получения листинга поскольку включение параметра «Create extended listing file» в мастере создания проекта не производит нужного эффекта, по крайней мере в версии 8. При этом обратите внимание на то, что стал доступен параметр «Policy». Его стандартное значение — «Append target options to project options», т. Есть и другие варианты объединения настроек разных уровней. Это позволяет гибко настраивать проект, не повторяя уже введенные общие параметры. Стандартные настройки предусматривают автоматическое включение создания отладочной информации в цели Debug параметр «-g» и оптимизацию размера полученной программы в цели Release параметр «-Os». Здесь стандартные настройки вполне подходят, чтобы начать работать с проектом, ничего в них не меняя. Стоит обратить внимание на вкладку «Build targets». Для каждой цели сборки по умолчанию: Debug и Release указывается, куда записываются получаемые объектные файлы, а в поле «Build target files» можно задавать, какие исходные файлы участвуют в данной сборке рисунок 4. Настройки целей сборки При желании можно свой настроенный проект сохранить как шаблон для будущих проектов. » и ввести имя шаблона. В дальнейшем, при создании нового проекта, можно выбрать желаемый шаблон в категории «User templates» рисунок 5. После этого потребуется задать пустой каталог, где будет создан новый проект, а затем отредактировать имя проекта. Выбор пользовательского шаблона Можно даже изменить существующий стандартный шаблон. Для этого в окне выбора шаблонов нажмите правую кнопку мыши на нужном шаблоне и воспользуйтесь опцией «Edit this script» в появившемся меню. В открывшемся окне левой панели нажмите на значок «Global compiler settings». На самом верху правой панели в верхнем поле «Selected compiler» выберите «GNU AVR GCC compiler» рисунок 6. Глобальные пути для заголовочных файлов На вкладке «Compiler settings» вряд ли стоит что-либо менять: эти параметры станут стандартными для всех AVR-проектов. На вкладке «Toolchain executables» проверяем, правильно ли указаны имена исполняемых файлов из комплекта AVR GCC и пути к ним. С помощью кнопки «autodetect» можно попробовать автоматически определить все эти значения. Если же что-то получилось не так например, дистрибутив AVR GCC оказался с экзотическими именами и каталогами для размещения , то это как раз место, где все можно исправить вручную. Имена файлов из пакета AVR GCC Всегда может возникнуть нестандартная ситуация, когда процесс сборки проекта нужно взять под свой полный контроль. Для этого в Code::Blocks предусмотрена возможность работы с собственным файлом сборки. Чтобы воспользоваться ею, необходимо создать пустой проект и сохранить его. » , выберите «C++ source» и нажмите кнопку «Go». Появится приветственное окно мастера создания нового исходного файла. Нажмите кнопку «Next» и в следующем окне выберите язык программирования для этого файла: С++. Далее укажите имя файла например, sample. » справа от поля с именем файла. Затем нужно указать, в каких целях сборки этот файл будет присутствовать, для чего можно просто нажать кнопку «All». При вводе комментариев на русском языке я то и дело натыкался на досадный сбой в работе редактора: иногда он отказывается вводить кириллицу. По всей видимости, это связано с работой в Unicode. Временно решить проблему можно, введя лишний пробел, после этого текст нормально пишется. Затем этот пробел можно удалить. Программа будет скомпилирована, а окно сообщений внизу экрана автоматически переключится на вкладку «Build messages», где будет сказано, что сборка закончена, получилось 0 ошибок и одно предупреждение: в строке 8 неиспользованная переменная «a». Подход к отладке AVR-приложений в значительной степени зависит от используемого оборудования. При наличии устройства AVR JTAG ICE можно производить внутрисхемную отладку, подключаясь с его помощью к процессору, используя для этого утилиту avarice. Если такого устройства нет, воспользуйтесь имитатором процессора simulavr. К сожалению, этот проект уже несколько лет не развивается, но разработчики продолжают выпускать исправления. Здесь в поле «Select target» выбираем «Debug». При этом в редакторе Code::Blocks будет загружен исходный текст, содержащий функцию main, и курсор отладчика остановится на этой функции, как это показано на рисунке 9. Теперь можно пользоваться удобными кнопками для управления отладчиком в панели инструментов, просматривать значения переменных и так далее. Более подробно об отладке можно узнать в документации на gdb, simulavr или avarice. Отладка Итак, мы рассказали, как, затратив минимум усилий и времени, не обращаясь к документации и руководствам, быстро приступить к разработке AVR-приложений с использованием замечательной и быстро развивающейся среды разработки Code::Blocks. В настоящее время интерфейс среды переведен на множество языков и, возможно, скоро локализованные файлы войдут в состав основной ветви разработки. Здесь можно найти разнообразную документацию, а также очень полезный форум.