Сейчас мы расскажем, как как создавать приложения для микроконтроллеров AVR программируя на языке Си, с помощью среды разработки Code::Blocks.
Знакомство со средой
Code::Blocks – свободная кроссплатформенная интегрированная среда разработки приложений. В ее основе лежит архитектура подключаемых модулей, что дает возможность неограниченно расширять возможности среды.
Среди возможностей среды хотелось бы особо выделить следующие:
- подсветка синтаксиса, которую можно настраивать по своему усмотрению и дополнять;
- сворачивание блоков текста программы;
- настраиваемое дополнение кода и обозреватель классов;
- гибкая обработка отступов;
- поддержка различных стилей форматирования исходного текста, причем их можно настраивать по своему усмотрению.
Code::Blocks поддерживает множество компиляторов, в том числе целый ряд компиляторов для микропроцессоров:
- GNU ARM GCC Compiler
- GNU AVR GCC Compiler
- SDCC (Small device C compiler)
Code::Blocks работает непосредственно в операционной системе, не требуя каких-либо интерпретаторов, отсюда легкость и быстрота этой IDE.
C++ Урок 0. Установка Code Blocks, создание проекта.
Кроме того, ее легко можно использовать совместно с GDB для отладки программ.
Code::Blocks ориентирована на разработку приложений на языках C и C++ и входит в состав всех современных популярных дистрибутивов Linux. Официальная версия 8.02 (на ноябрь 2009 ).
Вам наверное известно, что для создания AVR-приложений необходимо, чтобы были установлены три основных пакета из комплекта AVR GCC:
— avr-gcc (компилятор и ассемблер),
— avr-binutils (компоновщик и ряд полезных инструментов)
— avr-libc (стандартная библиотека С для процессоров Atmel AVR).
Современные популярные дистрибутивы Linux содержат пакеты AVR GCC в своих репозиториях. Теперь, когда установлены и Code::Blocks, и AVR GCC, можно приниматься за дело.
Первый запуск
При первом же запуске Code::Blocks становится понятно, что интерфейс вцелом достаточно знаком по работе с другими средами разработки. Привычные пункты меню, панель просмотра проектов, дерево файлов, окно вывода компилятора и отладчика, кнопки на панели инструментов, см. рис.1.
Слева расположена панель «Management», три вкладки которой так или иначе имеют отношение к проекту. На первой вкладке, «Projects», приводится список открытых в рабочем пространстве проектов и файлов этих проектов. Файлы автоматически разделяются на три секции: «Sources» («исходные тексты»), «Headers» («заголовочные файлы» и «Others» («другие»).
Двойное нажатие на имени файла открывает его в редакторе. На вкладке “Symbols” приводятся все функции, переменные, перечисления, директивы препроцессора и классы, существующие в проекте. Двойное нажатие на любом из этих элементов приведет к перемещению на него курсора в редакторе.
Окно сообщений «Logs New->Project». В любом случае откроется окно выбора шаблона будущего проекта, в котором мы указываем шаблон «AVR Project» и нажимаем кнопку «Go».
Появится приветственное окно мастера создания AVR-проекта. Нажмите кнопку «Next» и в открывшемся диалоговом окне введите название проекта и каталог, в котором он будет находиться. На основании этих данных программа автоматически предложит пользователю имя файла проекта с расширением *.cbp и каталог проекта, который будет создан. Далее следует нажать кнопку «Next».
В следующем окне предлагается выбрать конфигурации сборки, которые будут использоваться в проекте. По умолчанию активны обе конфигурации: Debug и Release. Компилятор «GNU AVR GCC Compiler» указан заранее. Также здесь можно изменить стандартные каталоги для скомпилированных файлов конфигураций.
В следующем окне мы указываем тип целевого процессора, выбрав его из выпадающего списка (позже это можно сделать в параметрах компиляции). Если в проекте используется внешняя память, стоит указать ее параметры. Далее следует задать значение глобальной переменной проекта F_CPU, указав тактовую частоту процессора в герцах.
По умолчанию включено создание файла карты символов (.map) и hex-файлов, а также файла дизассемблерного листинга (.lss). Еще полезно включить параметр «Run avr-size after build» – тогда в конце журнала сборки проекта появится информация о том, сколько места будет занято в памяти программ и в оперативной памяти. По какой-то причине включение параметра создания листинга не оказывает никакого действия при создании проекта, и нужно вручную добавить соответствующую команду в «Pre/post build steps». Нажмите кнопку «Finish» (рисунок 2).
Рисунок 2. Последнее окно мастера создания AVR-проекта
Проект создан, и в него автоматически добавлен первый файл – main.c.
Настройка проекта и среды разработки
Если проект создан с помощью шаблона AVR-проекта, то практически сразу можно перейти к программированию. Тем не менее, мы пройдемся по основным параметрам, чтобы убедиться, что все настроено правильно.
- Выберите пункт меню «Project->Build options». Откроется окно настроек параметров сборки (рисунок 3). В левой панели находится дерево целей сборки. На самом верхнем его уровне – настройки сборки для всего проекта. Удобнее всего сначала указать параметры для всего проекта, а уже затем добавлять что-то в отдельных вариантах сборки.
Рисунок 3. Параметры сборки проекта
Прежде всего нужно убедиться в том, что в поле «Selected Compiler» выбран «GNU AVR GCC Compiler». Ниже, на вкладке «Compiler Flags», приводятся флаги компилятора. По умолчанию здесь уже включен полезный флаг «Enable all compiler warnings». Также стоит убедиться в том, что мы правильно выбрали тип процессора, для которого разрабатывается проект.
На вкладке «#defines» показано значение переменной F_CPU, если оно было задано при создании проекта.
На вкладке «Linker Options» в панели «Other linker options» видно, что компоновщику задан правильный параметр -mmcu, а в левой панели «Link libraries» нужно указать необходимые для проекта библиотеки, если они есть.
Перейдите к вкладке «Search directories». Ниже, на вкладке «Compiler», нужно вставить путь к заголовочным файлам, например, /usr/avr/include/. Для этого воспользуйтесь кнопкой «Добавить» и впишите правильный путь. Аналогично, на вкладке «Linker» указываем путь к библиотекам AVR GCC, например, /usr/avr/lib.
Вкладка «Pre/post build steps». В поле «Post-build steps» можно увидеть команды для запуска утилит avr-size, avr-objcopy, avr-objdump. Например, для получения листинга (поскольку включение параметра «Create extended listing file» в мастере создания проекта не производит нужного эффекта, по крайней мере в версии 8.02) добавляем такую команду:
avr-objdump -h -S $(TARGET_OUTPUT_FILE) > $(TARGET_OUTPUT_FILE).lss
Если теперь с параметров всего проекта переключиться на более конкретные цели сборки, например, Debug или Release, то можно внести некоторые изменения в параметры сборки. При этом обратите внимание на то, что стал доступен параметр «Policy».
Его стандартное значение – «Append target options to project options», т.е. к общим параметрам проекта добавляются параметры для конкретной цели сборки. Есть и другие варианты объединения настроек разных уровней. Это позволяет гибко настраивать проект, не повторяя уже введенные общие параметры.
Стандартные настройки предусматривают автоматическое включение создания отладочной информации в цели Debug (параметр «-g») и оптимизацию размера полученной программы в цели Release (параметр «-Os»).
Рисунок 4. Настройки целей сборки
При желании можно свой настроенный проект сохранить как шаблон для будущих проектов. Для этого нужно выбрать команду меню «File->Save project as user template. » и ввести имя шаблона. В дальнейшем, при создании нового проекта, можно выбрать желаемый шаблон в категории «User templates» (рисунок 5). После этого потребуется задать пустой каталог, где будет создан новый проект, а затем отредактировать имя проекта.
Рисунок 5. Выбор пользовательского шаблона
Можно даже изменить существующий стандартный шаблон. Для этого в окне выбора шаблонов нажмите правую кнопку мыши на нужном шаблоне и воспользуйтесь опцией «Edit this script» в появившемся меню.
Рисунок 6. Глобальные пути для заголовочных файлов
На вкладке «Compiler settings» вряд ли стоит что-либо менять: эти параметры станут стандартными для всех AVR-проектов. А вот на вкладках «Search directories->Compiler» и «Search directories->Linker» в моем случае уже стояли стандартные пути /usr/include и /usr/lib соответственно, что было неверно. Можно тут указать правильные пути (например, /usr/avr/include и /usr/avr/lib), а в настройках проекта удалить эти же пути, я же просто очистил эти поля кнопками «Clear», потому что параметры проекта к этому моменту уже были настроены.
На вкладке «Toolchain executables» проверяем, правильно ли указаны имена исполняемых файлов из комплекта AVR GCC и пути к ним. С помощью кнопки «autodetect» можно попробовать автоматически определить все эти значения. Если же что-то получилось не так (например, дистрибутив AVR GCC оказался с экзотическими именами и каталогами для размещения), то это как раз место, где все можно исправить вручную. На рисунке 7 в поле «Compiler’s installation directory» должно быть указано «/usr», если программы AVR GCC размещаются в каталоге /usr/avr/.
Рисунок 7. Имена файлов из пакета AVR GCC
И последнее. На вкладке «Other settings» есть поле «Compiler logging». В нем можно задать режим журналирования процесса компиляции. Рекомендуется установить здесь значение «Full command line». Это позволит подробно проследить команды, используемые при сборке.
Источник: avr-prog.blogspot.com
CodeBlocks — создание приложений под android!
Всем привет! Начала разбираться с Code Blocks. везде информация расплывчатая и кусочечная.)) Может кто то сталкивался, возможно ли средствами, которые предоставляет Code Blocks (wxWidgets) писать небольшие приложения под Android? если да, то может кто — то поделится информацией — как? буду рада любым отзывам и пожалуйста не язвите!
- 1 frag / 2 deaths
- Участник
#1
15:25, 12 апр 2013
Можно писать приложения под Windows, код которых можно пересобрать под Android.
Мой способ. Удобно отлаживать программу как обычное виндовое приложение.
#2
16:18, 12 апр 2013
это интересно, то есть делаешь обычное интерфейс приложение, а в чем пересобирать под андроид? в code blocks? просто у меня поставлена задача изучить code blocks. А везде пишут отрывками и не понятно, есть ли в нем такая возможность.
#3
22:46, 12 апр 2013
Len4onok777
> поставлена задача изучить code blocks
а зачем тогда андроид?
#4
23:30, 12 апр 2013
Не правильно объяснила. Изучить Code Blocks для того, чтобы узнать, можно ли с его помощью писать что то под андроид или Windows Mobile, айфон..является ли он средством (с помощью wxWidgets) для создания интерфейса к нему, ну и соответственно, программирование этого самого интерфейса, чтобы потом это приложение использовать на телефоне. вот как. wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.
Вроде пишут, что можно. но не могу найти. КАК?! какой то исходник..или пример..может кто то сталкивался и может поделиться опытом. Главное понять направление, сам принцип, с чего начать. Буду рада любому отзыву!
#5
0:11, 13 апр 2013
Len4onok777
Code::Blocks это же опенсорсная IDE для С++, не более того. Проще уж взять Android NDK, прикрутить его к Eclipse и писать на том же срр, если душа не лежит к Java (или если учебная цель именно такая).
>wxWidgets is a C++ library
Вроде бы, очевидно, что это просто библиотека, которую можно вызывать откуда-то.
Для начала, советую четче определиться с целями и задачами.
Писать под андроид — Java/Eclipse; писать под Windows Mobile — C#/Visual Studio; писать под iOS — ObjectiveC/XCode. И ряд вариаций, вплоть до визуального конструирования. Зачем себя так жестко загонять в рамки тру-кодеров? CB не самая ходовая IDE.
#6
0:16, 13 апр 2013
Len4onok777
Windows Mobile устарел, а под Windows Phone писать предлагается на C#.
Источник: gamedev.ru
Как написать программу в кодеблокс
Вы здесь: Home Уроки
Программирование
c++
1 Урок (Hello, World!)
Главное меню
Войти на сайт
Мы с социальных сетях
Помочь проекту
Последние статьи
- Мошенничество через авито
- Восстановление старых фото с помощью нейросетей
- Magicavoxel на Mac черный экран
- Интернет магазин мошенников iphone24.store
- Интернет магазин мошенников original-elements.ru
- Интернет магазин мошенников master-skidok.ru
- Как построить диаграмму в Excel?
- Нужен ли антивирус на смартфоне?
- Преобразование типов данных в C#
- Как преобразовать String в Int в Java?
1 Урок (Hello, World!)
Подробности Подробности Категория: c++ Просмотров: 39710
Добрый день, дорогие друзья. Этой статьей я начинаю серию уроков посвященных одному из самых популярных языков программирования — с++. Уроки направлены в первую очередь на пользователей, который не знакомы с программированием, поэтому профессионалы, не будьте строги, хотя поддерживаю критику, особенно в свой адрес. В своих уроках я буду использовать среду разработки Code::Blocks, который можно скачать и использовать бесплатно. Начнем конечно с классического Hello, world =)
Я надеюсь что Вы уже скачали и установили Code::Blocks, если это так, то начнем. Запускаем среду разработки
Первым делом создаем новый пустой проект File->New->Project и выбираем Empty project
кликаем Go, затем Next
и в появившемся окне в поле Project title набираем заголовок проекта, в Project filename название проекта и снова Next.
В следующем окне удаляем Objects dir из разделов Create «Debug» configuration и Create «Release» configuration, как показано на скриншоте выше и нажимаем по кнопке Finish. Справа должен появится проект с названием «Hello world»
Следующий этап, добавляем в проект файл File->New->FIle. и в появившемся окне выбираем c/c++ source.
Снова Go, Next, выбираем с++, Next и видим следующее окно
,
тут нам необходимо указать имя файла (я назвал main) и его путь, желательно папку с проектом. Ставим галочки на Debug и Release и кликаем Finish.
И мы получили пустой файл с++, в котором будем писать сам код программы.
Теперь начинаем писать сам код программы. Для вывода информации на экран, нам потребуется библиотека ввода/вывода iostream.
using namespace std ;
Затем пропишем главную функцию, которая будет выполняться при запуске программы
она обязательно должна называться «main» и указываем ей тип int (об этом мы поговорим в следующих уроках). Между фигурных скобок и будет находится код программы. Мы напишем простую программу, которая будет в консоли выводить приветствие «Hello, world!».
После каждой команду обязательно нужно ставить «;», это говорит компилятору, что команда закончена и можно обрабатывать следующую. cout — выводит значения переменных или строки в командную строку.
Полный листинг программы.
using namespace std ;
Запускаем проект и видим результат.
Ниже прилагаю видео урок, к даной статье.
Источник: ledsoft.info