8-900-374-94-44
[email protected]
Slide Image
Меню

Для чего codeblocks – Code::Blocks — Wikipedia

Содержание

📌 Code::Blocks - это... 🎓 Что такое Code::Blocks?

Code::Blocks — свободная кроссплатформенная среда разработки. Code::Blocks написана на С++ и использует библиотеку wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Поддерживает языки программирования С, С++, D (с ограничениями).

Code::Blocks разрабатывается для Windows, Linux и Mac OS X. Среду можно собрать из исходников практически под любую Unix-подобную систему, например FreeBSD[1]

Возможности

Возможности компиляции

  • Поддержка множества компиляторов
  • Многопрофильные проекты
  • Поддержка рабочих пространств
  • Импорт проектов Dev-C++
  • Импорт проектов и рабочих пространств Microsoft Visual Studio (включая 2005)

Возможности интерфейса

Возможности отладки

  • Поддержка отладчиков:
  • Поддержка визуализации значений переменных и функций[3]

Примечания

См. также

Ссылки

  wxWidgets
Технологии XML Resource
Строители
RAD/GUI
Библиотеки wxSQLite3
Привязки wxPython · wxPerl · wxBasic · wxHaskell · GLUEscript

dic.academic.ru

Разработка приложений для встраиваемых устройств: Часть 4. Применение Code::Blocks для разработки SDCC-приложений

Разработка приложений для встраиваемых устройств

Игорь Горбунов
Опубликовано 27.01.2010

Серия контента:

Этот контент является частью # из серии # статей: Разработка приложений для встраиваемых устройств

https://www.ibm.com/developerworks/ru/library/?series_title_by=**auto**

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Разработка приложений для встраиваемых устройств

Следите за выходом новых статей этой серии.

В первой части этой серии из четырех статей обсуждалось, как настроить популярную среду разработки Eclipse для сборки AVR-приложений. Во второй части мы рассмотрели, как эту задачу можно выполнить с помощью другой, более легкой среды разработки – Code::Blocks. После этого мы обратили внимание на другое семейство приложений, которые собираются с использованием компилятора SDCC, и в третьей части познакомились с созданием и настройкой SDCC-приложений в Eclipse. В этой статье будет показано, как работать с SDCC-приложениями в среде Code::Blocks.

Интегрированную среду разработки Code::Blocks мы уже рассматривали во второй части этой серии статей. Там приводились основные сведения о возможностях Code::Blocks, а также давались основные навыки работы с ней.

Компилятор Small Device C Compiler (SDCC) вкратце описывался в третьей части. Настоятельно рекомендуется ознакомиться с руководством пользователя, которое входит в состав устанавливаемых в системе пакетов, его можно загрузить с сайта SDCC. Список поддерживаемых архитектур легко узнать простой командой:

$ sdcc-sdcc -v 
SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08
		 2.9.0 #5416 (Jul 20 2009) (UNIX)

Предполагается, что у вас в системе и Code::Blocks, и SDCC установлены и работоспособны. Если это так, то можно переходить к созданию и настройке проекта.

Создание проекта

Запустите Code::Blocks. Вначале нужно настроить глобальные настройки компилятора; для этого выберите пункт меню "Settings->Compiler and Debugger".

Рисунок 1. Глобальные настройки компилятора

Далее выполните следующие шаги.

  1. В самом верхнем поле «Selected Compiler» выберите из выпадающего списка "SDCC Compiler". Если теперь нажать кнопку «Set as default», то для всех новых проектов именно SDCC будет стандартным компилятором. Это удобно только в том случае, когда Code::Blocks используется лишь для разработки SDCC-приложений.
  2. Перейдите на вкладку "Toolchain executables". Здесь нужно исправить каталог, где установлен SDCC, а также имена утилит из его комплекта, если они неправильно указаны. По умолчанию каталогом установки считается /usr/local/bin. В разных дистрибутивах могут быть разные каталоги установки исполняемых файлов SDCC. Например, в Fedora они устанавливаются в каталог /usr/bin, поэтому в поле «Compiler's installation directory» правильно будет записать «/usr».

    Ниже, на вкладке «Program Files», нужно проверить имена исполняемых файлов SDCC: компилятора, компоновщика и т.д. По умолчанию используется имя sdcc для компилятора и компоновщика. Правильные имена файлов можно узнать, выполнив команду «ls /usr/bin/sdcc*», если файлы установлены в /usr/bin. В некоторых дистрибутивах эти имена из каких-либо соображений могут быть другими. Например, в Fedora к стандартным именам файлов добавляется префикс sdcc, поэтому в полях «C compiler» и «Linker for dynamic libs» должно быть вписано «sdcc-sdcc».

  3. Перейдите на вкладку "Search Directories". Проверьте, какие пути поиска указаны здесь на вкладках «Compiler» и «Linker». В моем случае (Code::Blocks версии 8.02, сборка от 28.02.2009) вообще никаких путей там не оказалось. И опять, указываемые здесь пути специфичны для каждого дистрибутива Linux. В Fedora заголовочные файлы находятся в каталоге /usr/share/sdcc/include (для вкладки «Compiler»), а библиотеки – в каталоге /usr/share/sdcc/lib (для вкладки «Linker»).
  4. На самой правой вкладке «Other settings» есть поле «Compiler logging». В нем можно задать режим журналирования процесса компиляции. Рекомендуется установить здесь значение «Full command line». Это позволит подробно проследить команды, используемые при сборке.

Теперь, поскольку готового мастера для SDCC-проектов нет, создадим пустой проект. В меню выберите команду "File ->New->Project". Выберите "Empty Project" и нажмите кнопку «GO». Появится приветственное окно мастера нового проекта, нажмите кнопку «Next».

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

Откроется окно, где нужно в поля «Project title» и «Folder to create project in» ввести имя нового проекта и каталог, в котором будет размещаться каталог проекта. Введите необходимую информацию. Мастер создания проекта автоматически заполнит поле с именем файла проекта («Project filename»), которое не обязательно должно совпадать с названием проекта, и в поле «Resulting filename» предложит полное имя файла проекта с полным путем, причем этот путь тоже не обязательно должен совпадать с каталогом проекта. Заполнив все необходимое, нажмите кнопку «Next».

Рисунок 3. Введение имени проекта

В следующем окне в поле «Compiler» выберите из выпадающего списка «SDCC Compiler». Ниже будут предложены стандартные каталоги для целей сборки Debug и Release. Закончив редактирование, нажмите кнопку «Finish». После этого будет последовательно выдан ряд сообщений о том, что Code::Blocks не знает, как настроить предупреждающие флаги для этого компилятора, как указать флаги отладки и т.д. Нажимайте кнопки «Ok» и игнорируйте эти сообщения.

Настройка проекта

Итак, у нас создан пустой проект. Нужно настроить его так, чтобы он мог работать с SDCC. Для этого выберите пункт меню "Project->Properties", перейдите на вкладку "Build targets". В панели «Select build target options» в поле "Type" по умолчанию тип приложения указан как «Console application». Не вижу, почему этот тип может не подойти для SDCC-приложения, но в ряде руководств рекомендуется изменить его на "Native". Это нужно сделать для всех целей сборки (цели выбираются слева в панели «Build targets»).

Рисунок 4. Свойства проекта

Для настройки параметров сборки проекта выберите в меню пункт "Project->Build Options". Для начала здесь можно настроить флаги компилятора, общие для всех целей сборки: тип процессора, модель памяти и т.д. В левой панели окна с параметрами сборки проекта среди целей сборки выберите название проекта (на рисунке 5 это «test»). Теперь на вкладке "Compiler Settings", а затем ниже, на вкладке "Compiler Flags", нужно выбрать флаг для используемого процессора. Если ничего не выбрать, то будет действовать флаг -mmcs51 для процессоров, совместимых с Intel MCS51. Еще сразу для всего проекта имеет смысл выбрать здесь модель памяти и параметры стека.

Рисунок 5. Параметры целей сборки

После этого выберите поочередно все цели сборки и укажите параметры компилятора, характерные только для них. Например, для цели сборки Debug следует выбрать флаг «Produce debugging symbols [--debug]», а для цели Release может быть полезным флаг «Optimize generated code (for size) [--opt-code-size]».

Обратите внимание, что когда вы выбираете конкретные цели сборки, то становится активным поле «Policy» сразу под вкладкой «Compiler Settings». Здесь можно выбрать правило, в соответствии с которым производится сочетание параметров, выбранных для цели сборки, с параметрами всего проекта. Стандартное правило – «Append target options to project options» (параметры цели сборки добавляются к параметрам проекта»). С таким правилом здесь нет необходимости в каждой цели вновь выбирать те флаги, которые были настроены для всего проекта. При необходимости можно выбрать и другие правила.

Нажмите кнопку «Ok», чтобы сохранить настройки.

Локализация Code::Blocks

В настоящее время ведутся работы по локализации интерфейса Code::Blocks для различных языков. Перевод на русский язык ведется здесь, и если загрузить оттуда файл codeblocks.mo и поместить его в каталог, например, /usr/share/codeblocks/locale/ru_RU/ (потребуются привилегии пользователя root), то интерфейс программы будет на русском языке, если в глобальных настройках («Settings->Environment->View») включить параметр «Internationalization (needs restart)» и справа в выпадающем списке выбрать «Russian». Это изменение вступит в силу после перезагрузки.

Пробная программа

Теперь, когда проект настроен, добавим к нему первый файл. Для этого выберите в меню пункт «File->New->File...», в открывшемся окне выберите шаблон «C/C++ source» и нажмите кнопку «Go».

Рисунок 6. Создание нового С-файла

В следующем приветственном окне мастера создания файлов нажмите кнопку «Next», далее выберите язык программирования для файла – «C» и нажмите кнопку «Next». Откроется окно, в котором нужно ввести имя файла, например, main.c, и цели сборки, в которые он будет входить. Если нажать кнопку «All», то файл будет добавлен во все имеющиеся цели сборки.

Рисунок 7. Введение имени файла

Обратите внимание, что мастер создания требует указания имени файла с полным путем к нему, для этого нужно нажать на кнопку «...» справа от имени файла и выбрать каталог, где будет находится этот файл. По умолчанию это будет каталог проекта. После выбора каталога имя файла в поле «Filename with full path» будет показано с полным путем. Теперь можно нажать кнопку «Finish». Созданный файл тут же окажется открытым в редакторе. Впишем туда простейшую программу из третьей части этой серии статей:

#include <stdint.h>
#include <stdbool.h>

void main()
{
	while(true)
	{
		int16_t some_size = 1000, i, a;

		while (true)
		{
			for (i = 0; i < some_size; i++)
				a = i + 3; // какое-нибудь действие
		}

Сохраните этот файл нажатием кнопки с дискетой в панели инструментов, командой меню «File->Save» или сочетанием клавиш Ctrl+S. Затем выберите команду меню «Build->Build» или нажмите кнопку с шестеренкой в панели инструментов, или просто нажмите сочетание клавиш «Ctrl-F9». Внизу, в окне «Logs & others», журнал компиляции будет выведен на вкладке «Build log», а на вкладке «Build messages» появятся сообщения об ошибках и предупреждениях, если они есть.

Рисунок 8. Вид на собранный проект

После сборки проекта выходной файл с именем, указанным в поле «Output filename» в настройках («Build->Properties», вкладка «Build targets», см. рисунок 4), помещается в каталог bin/Debug (или другой, в зависимости от того, как вы настроили цели сборки). Он по умолчанию создается в формате Intel Hex и его можно загружать в процессор с помощью программатора. Кроме того, там компилятором создается файл *.mem, представляющий карту использования памяти. В каталоге obj/Debug (в зависимости от цели сборки) находятся файлы *.asm, *.lst, *.rst, представляющие собой различные варианты ассемблерных листингов программы, созданных компилятором.

Аналогичный подход можно попытаться использовать и в случае необходимости работы с другими компиляторами для встраиваемых решений, например GNU ARM GCC. А в этой короткой статье описывается, как можно настроить Code::Blocks для разработки ARM-GCC-приложений, используя собственный Makefile.

Заключение

В этой заключительной части серии статей вы познакомились с тем, как с минимальными усилиями создать и настроить проект для разработки приложений с помощью компилятора SDCC в среде Code::Blocks.

Ресурсы для скачивания
Похожие темы
  • Официальный сайт (EN) среды разработки Code::Blocks. Здесь можно найти разнообразную документацию, а также очень полезный форум.
  • Очень оживленный и насыщенный руководствами и справочниками немецкоязычный форум по многим вопросам, относящимся к встраиваемым устройствам, а также его англоязычный вариант (EN)
  • Русскоязычный форум разработчиков электроники, охватывающий, в том числе, и вопросы разработки приложений для встраиваемых устройств.
  • Сайт проекта SDCC (EN): здесь можно узнать новости проекта, найти многочисленную документацию, форум и ссылки на разнообразные ресурсы, относящиеся к компилятору SDCC.
  • http://sdccokr.dl9sec.de/resources.htm (EN): здесь есть множество ресурсов, относящихся к разработке приложений с использованием SDCC.

Подпишите меня на уведомления к комментариям

www.ibm.com

codeblocks / Поиск по тегам / Сообщество EasyElectronics.ru

Видя регулярные холивары «студия vs эклипс» или «programmers notepad против vim», каждый раз собираюсь поведать миру об универсальном инструменте, которым сам пользуюсь в течение уже нескольких лет.
Это многофункциональная IDE для С/С++ разработки Code::Blocks.


CodeBlocks — это свободная кроссплатформенная среда, заполняющая нишу между монструальными и неповоротливыми «взрослыми» системами для больших проектов, типа Eclipse, Visual Studio, Net Beans, и убогими по функционалу, но шустрыми блокнотами типа Scintilla, причем преимущества и тех, и других складываются и позволяют использовать данную систему как для написания небольших проектов для встраиваемых приложений, так и для программирования приложений для РС под Windows, Linux и MacOs.

Основные характерные особенности среды:

  • Кроссплатформенная IDE с открытым кодом, основанная на библиотеке wxWidgets
  • Компактное ядро и расширение функционала посредством множества плагинов
  • Встроенный интерфейс под множество компиляторов и тулчейнов, как свободных, так и проприетарных
  • Множество визардов для быстрого создания шаблона проекта как для разнообразных микропроцессорных архитектур (AVR, ARM, PowerPC), так и для библиотек и тулкитов под РС: GTK, Qt, WxWidgets, OpenGL итд.
  • Компактная и интуитивно понятная структура меню, обеспечивающая быструю настройку среды
  • Огромное количество забавных и полезных рюшечек, которые я до сих пор с удивлением иногда нахожу 🙂

Данный пост — просто беглый обзор возможностей и особенностей IDE CodeBlocks, который(ая?) незаслуженно обделен вниманием, на мой субъективный взгляд.

Читать дальше

we.easyelectronics.ru

Blocks для AVR, язык Си

Сейчас мы расскажем, как как создавать приложения для микроконтроллеров AVR программируя на языке Си, с помощью среды разработки Code::Blocks.

Знакомство со средой

Code::Blocks – свободная кроссплатформенная интегрированная среда разработки приложений. В ее основе лежит архитектура подключаемых модулей, что дает возможность неограниченно расширять возможности среды. 

Среди возможностей среды хотелось бы особо выделить следующие:

  • подсветка синтаксиса, которую можно настраивать по своему усмотрению и дополнять;
  • сворачивание блоков текста программы;
  • настраиваемое дополнение кода и обозреватель классов;
  • гибкая обработка отступов;
  • поддержка различных стилей форматирования исходного текста, причем их можно настраивать по своему усмотрению.

Code::Blocks поддерживает множество компиляторов, в том числе целый ряд компиляторов для микропроцессоров:

  • GNU ARM GCC Compiler
  • GNU AVR GCC Compiler
  • SDCC (Small device C compiler)

Code::Blocks работает непосредственно в операционной системе, не требуя каких-либо интерпретаторов, отсюда легкость и быстрота этой IDE.

Кроме того, ее легко можно использовать совместно с 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 & others», расположенное внизу, служит для вывода сообщений (в этом окне также несколько вкладок). На вкладке “Code::Blocks” выводятся сообщения среды, здесь можно получить информацию о возникновении в ней проблем. Вкладка “Build log” показывает команды, выполняемые в процессе сборки приложения. И последняя вкладка “Build messages” предназначена для вывода ошибок и предупреждений компилятора (в сообщения включаются имя файла и номер строки, где найдена ошибка).

Рис.1. Общий вид Code::Blocks

Создание проекта

Если еще ни одного проекта в рабочем пространстве не создано, то после запуска Code::Blocks в центральной панели активна только вкладка «Start here». Для создания нового проекта нужно выбрать команду «Create a new project» или пункт меню «File->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-проекта, то практически сразу можно перейти к программированию. Тем не менее, мы пройдемся по основным параметрам, чтобы убедиться, что все настроено правильно.

  1. Выберите пункт меню «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»).

  2. Выберите пункт меню «Project->Properties». Здесь стандартные настройки вполне подходят, чтобы начать работать с проектом, ничего в них не меняя. Стоит обратить внимание на вкладку «Build targets». Для каждой цели сборки (по умолчанию: Debug и Release) указывается, куда записываются получаемые объектные файлы, а в поле «Build target files» можно задавать, какие исходные файлы участвуют в данной сборке (рисунок 4).
    Рисунок 4. Настройки целей сборки

    При желании можно свой настроенный проект сохранить как шаблон для будущих проектов. Для этого нужно выбрать команду меню «File->Save project as user template...» и ввести имя шаблона. В дальнейшем, при создании нового проекта, можно выбрать желаемый шаблон в категории «User templates» (рисунок 5). После этого потребуется задать пустой каталог, где будет создан новый проект, а затем отредактировать имя проекта.

    Рисунок 5. Выбор пользовательского шаблона

    Можно даже изменить существующий стандартный шаблон. Для этого в окне выбора шаблонов нажмите правую кнопку мыши на нужном шаблоне и воспользуйтесь опцией «Edit this script» в появившемся меню.

  3. Перед тем как что-нибудь собирать, нужно еще заглянуть в глобальные настройки компилятора. Это делается через главное меню: «Settings->Compiler an debugger settings». В открывшемся окне левой панели нажмите на значок «Global compiler settings». На самом верху правой панели в верхнем поле «Selected compiler» выберите «GNU AVR GCC compiler» (рисунок 6).
    Рисунок 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». Это позволит подробно проследить команды, используемые при сборке.

Теперь Code::Blocks готов к сборке проекта!

Использование собственного makefile для своего проекта

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

  1. Выберите пункт меню «Project -> Properties».
  2. Перейдите на вкладку "Project Settings".
  3. Поставьте галочку в поле "This is a custom makefile".
  4. Убедитесь, что указано правильное имя файла в поле «Makefile:».
  5. Теперь на вкладке «Build targets» нужно изменить или добавить цели сборки в соответствии с имеющимся makefile, например:

При использовании собственного makefile следует проверить, какие команды имеются на вкладке «Make Commands» в пункте меню «Project ->Build Options».

Пробная программа

Во вновь созданном по AVR-шаблону проекте уже имеется файл main.c, который содержит заготовку модуля main для программы на С. Напишем новую программу на С++.

Воспользуйтесь опцией меню «File->New->File...» , выберите «C++ source» и нажмите кнопку «Go». Появится приветственное окно мастера создания нового исходного файла. Нажмите кнопку «Next» и в следующем окне выберите язык программирования для этого файла: С++. Далее укажите имя файла (например, sample.cpp) и полный путь к этому файлу, для чего нажмите кнопку «...» справа от поля с именем файла. Затем нужно указать, в каких целях сборки этот файл будет присутствовать, для чего можно просто нажать кнопку «All». Нажмите кнопку «Finish».

В созданный пустой файл впишите простейшую C++ программу:

int main(void)
{
    const int some_size = 1000;

    while (true)
    {
        for (int i = 0; i < some_size; i++)
            int a = 3; // какое-нибудь действие
    }

    return 0; // никогда не дойдет сюда
}

Сохраните файл, нажав клавиши Ctrl+S. Файл main.c нам не нужен, его можно удалить из проекта, нажав на его имени правую кнопку мыши и выбрав из появившегося меню команду «Remove file from project» (рисунок 8).

Рисунок 8. Выбор шаблона для нового файла

При вводе комментариев на русском языке я то и дело натыкался на досадный сбой в работе редактора: иногда он отказывается вводить кириллицу. По всей видимости, это связано с работой в Unicode. Временно решить проблему можно, введя лишний пробел, после этого текст нормально пишется. Затем этот пробел можно удалить.

Скомпилируем программу. Для этого нужно выбрать команду меню «Build->Build» или нажать знакомую многим комбинацию клавиш Ctrl+F9, также можно использовать кнопку с голубой шестеренкой в панели инструментов. Программа будет скомпилирована, а окно сообщений внизу экрана автоматически переключится на вкладку «Build messages», где будет сказано, что сборка закончена, получилось 0 ошибок и одно предупреждение: в строке 8 неиспользованная переменная «a».

Немного об отладке

Подход к отладке AVR-приложений в значительной степени зависит от используемого оборудования. При наличии устройства AVR JTAG ICE можно производить внутрисхемную отладку, подключаясь с его помощью к процессору, используя для этого утилиту avarice. Если такого устройства нет, воспользуйтесь имитатором процессора simulavr. К сожалению, этот проект уже несколько лет не развивается, но разработчики продолжают выпускать исправления.

Чтобы настроить отладку в Code::Blocks, нужно открыть свойства проекта «Project->Properties» и перейти на вкладку «Debugger». Здесь в поле «Select target» выбираем «Debug». Для этой конфигурации на вкладке «Remote connection» указываются параметры подключения avr-gdb к удаленной цели отладки:

  • «Connection type» : TCP.
  • «IP address» : localhost, если устройство отладки (или имитатор) подключено к этому же компьютеру.
  • «Port»: например, 1212.

Теперь на вкладке «Additional commands» в поле «After connection» нужно вписать следующие команды для отладчика:

Первая команда загрузит программу в цель отладки (микропроцессор или имитатор), а вторая вставит точку останова на функции main.

Перед отладкой нужно запустить в терминале simulavr:

simulavr -g -p 1212 -d atmega128

(для процессора atmega128), получится примерно такой вывод:

$ simulavr -g -p 1212 -d atmega128 
Simulating a atmega128 device. 
...
main.c:415: MESSAGE: Simulating clock frequency of 8000000 Hz 
Waiting on port 1212 for gdb client to connect...

Если устройство подключено к последовательному порту /dev/ttyS0, запуск avarice можно произвести такой командой:

avarice -j /dev/ttyS0 -P atmega128 :1212

Теперь можно запускать отладку в Code::Blocks при помощи команды меню «Debug->Start». В окне, где запущен simulavr, добавятся примерно такие сообщения:

Connection opened by host 127.0.0.1, port -14999. 
decoder.c:737: MESSAGE: BREAK POINT: PC = 0x00000068: clock = 34

При этом в редакторе Code::Blocks будет загружен исходный текст, содержащий функцию main, и курсор отладчика остановится на этой функции, как это показано на рисунке 9. Теперь можно пользоваться удобными кнопками для управления отладчиком в панели инструментов, просматривать значения переменных и так далее. Более подробно об отладке можно узнать в документации на gdb, simulavr или avarice.

Рисунок 9. Отладка

Заключение

Итак, мы рассказали, как, затратив минимум усилий и времени, не обращаясь к документации и руководствам, быстро приступить к разработке AVR-приложений с использованием замечательной и быстро развивающейся среды разработки Code::Blocks. В настоящее время интерфейс среды переведен на множество языков и, возможно, скоро локализованные файлы войдут в состав основной ветви разработки.

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

avr-prog.blogspot.com

Code::Blocks - среда разработки приложений С++

Code::Blocks — это кросс-платформенная IDE, поддерживающая разработку и отладку программ на различных языках программирования. Скачать её можно с codeblocks.org. Code::Blocks способна работать с различными компиляторами.

Для Windows среда предоставляется в частности с компилятором MinGW. Здесь описывается установка и настройка именно такий версии. Если вы не уверены, проверьте имя скачиваемого файла: оно должно быть вида «codeblocks-XX.XX-mingw-setup.exe». Процесс установки не сложен: запустите исполняемый файл, а затем просто проследуйте инструкциям. Настройки по умолчанию подойдут в большинстве случаев. В принципе на курсах http://it-study.kiev.ua/ и тому подобных можно встретить данную среду для С++.

Пользователели Linux и Mac, скачивайте версию, соответствующую вашей платформе.

Поддержка нового стандарта C++11 может быть изначально отключена. Дабы включить её, перейдите Settings -> Compiler.

В открывшемся окне перейдите в раздел «Global compiler settings», далее во вкладке «Compiler settings» щёлкните на флажке «Have g++ follow the C++11 ISO C++ language standard [-std=c++11]».

Чтобы компилировать и запускать простые консольные приложения, такие как примеры в этих уроках, достаточно открыть файл в Code::Blocks и нажать F9.

Например, попробуйте:

File -> New -> Empty File

Введите туда следующий код:

#include <iostream>
int main()
{
auto x = R»(Hello world!)»;
std::cout << x;
}

Далее:

File -> Save file as…

И сохраните его под каким-нибудь именем с расширением .cpp. Далее, нажмите F9 и посмотрите на результат выполнения программы.

Если вы получили ошибку типа переменной x, то компилятор не понимает нового значения ключевого слова auto стандарта C++11. Пожалуйста, убедитесь, что у вас установлен актуальный компилятор и вы включили опции для использования стандарта C++11 как было указано выше.

Итак, теперь вы готовы к написанию программ в среде Code::Blocks.

Понравился пост? Подпишись на обновления блога по RSS, Email или twitter!

wordpressinside.ru

CodeBlocks + D | LightHouse Software

Одна из самых удобных сред разработки среди всех, которые я использовал, это CodeBlocks. Кроме того, что это чудо имеет массу вкусных настроек и возможностей, оно еще и кросс-платформное, а значит выглядит (и работает) одинаково и в Windows и Linux, и еще эта IDE не так уж и много занимает свободного места и вообще является open-source проектом.

Настроек эта среда практически не требует (ну за исключением того случая, если нужно что-то особо специфическое), но тем не менее я немного расскажу о том, как из этого очень приятного продукта сделать еще более приятный продукт.

После установки CodeBlocks (что на Windows, что на Linux, хотя у меня она стоит и там и там), запускаем ее и первое, что увидим это окно выбора компилятора, в котором стоит выбрать пункт Digital Mars D Compiler, однако, если даже вы и не проигнорировали это окно при запуске, все равно рекомендую открыть пункт Compiler… в меню Settings и в появившемся всплывающем окне в  выпадающем списке, озаглавленном как Selected compiler выбрать Digital Mars Compiler и нажать кнопку Set as default:

Кроме того, во вкладке Compiler flags (находится внутри вкладки Compiller settings) рекомендую поставить свои аргументы, которые будут передаваться каждый раз компилятору (я выставил флаги: optimize, inline expans function, compile release version. Возможно, потребуется кратковременно переключиться на соседнюю вкладку Other settings, а затем опять на вкладку Compiler flags).

После этих нехитрых манипуляций, можно закрыть это всплывшее окно и опять вернуться в меню Settings, чтобы открыть пункт Editor…:

В этом случае, нас интересует лишь некоторые пункты, которые способны потенциально облегчить жизнь: выставляем все флажки, кроме последнего в пункте Indent options; выставляем флажки Word wrap и Show line numbers в пункте Other options, а все остальное можно поставить по своему вкусу.

Ну, а теперь самая интересная настройка.

Берем отсюда файл lexer_d.xml и дальше, если вы работаете в Windows, то заменяем этим файлом, файл находящийся в:

C:\Program Files\CodeBlocks\share\CodeBlocks\lexers\

Ну, а если в Linux, то проводим замену этим файлом, файла находящегося тут (внимание ! делаем это под root):

/usr/share/codeblocks/lexers/

Что это дает ?

Это позволяет добавить в подсветку синтаксиса некоторые элементы, которые отсутствуют в стандартной подсветке синтаксиса: модификаторы shared, __gshared, string, immutable, @safe, @trusted, @system, @property, @disable, @nogc; элементы синтаксиса D nothrow, foreach_reverse и __traits.

Итого, получается примерно вот так:

 

 

lhs-blog.info

CodeBlocks + SDL - Code::Blocks - Каталог статей

CodeBlocks + SDL

 

Содержание:

1. Пару слов о CodeBlocks.

2. Пару слов об SDL.

3. Ставим SDL.

 

Пару слов о CodeBlocks.

Давайте сначала зададимся вопросом, а почему собственно CodeBlocks? Дело в том, что эта интегрированная среда разработки (IDE) является кроссплатформенной. То есть другими словами есть ее версии как для Windows, так и для Linux и даже Mac Os. Да что там говорить, вот информация прямо с родного сайта http://www.codeblocks.org/ :

 

Code::Blocks supports:

  • Windows 2000 / XP / Vista
  • Linux (Ubuntu & Debian, 32 & 64 bits)
  • Mac OS X 10.4+

Согласитесь, когда переходишь с одной операционной системы на другую, чуствуешь некоторое время дискомфорт. Просто элементарно не хватает того, к чему ты привык. Нужно время, чтобы адаптироваться к новой ситуации. И именно тут приходят на помощь кросплатформенные программы, которые ты уже знаешь по другим системам и прекрасно в них ориентируешья. Это уменьшает период адаптции и повышает как качество разработки, так и скорость. Ко всем другим приемуществам CodeBlocks еще добавлю и то, что он абсолютно бесплатен и все его исходные коды открыты.

 

Маленькое отступление.

Если вы не искушенный в делах программирования пользователь, то сразу хочу оговориться, что CodeBlocks всего лишь ИДЕ - интегрированная среда для разработки вашего продукта, то есть это все окошки, где вы вводите текст своей программы, где ведёте проект, добавляя или удаляя файлы, прилинковывая библиотеки, создавая хидеры и т.д. А программа, которая переводит текст вашей программы в выполняемый exe файл - называется компилятор. Компилятор это отдельная от ИДЕ программа, которая выполняет свою функцию из командной строки, а ИДЕ лишь графическая оболочка, для удобства набирания и отлаживания программ. В CodeBlocks есть много "вкусных" фишек таких как Plugin-ы, userTamplate-ы и другие.  Так вот, как я уже сказал, для разработки программ нам еще нужен компилятор. Вот список компиляторов, которые поддерживает CodeBlocks:

 

Supported compilers :

  • GNU GCC (incl. G77) (Linux)
  • MinGW GCC (incl. G77) (Win32)
  • MSP430 GCC (Win32, Linux, BSD)
  • TriCore GCC (Win32, Linux)
  • PowerPC GCC (Win32, Linux)
  • Apple GCC (Xcode) (Mac OS X)
  • Microsoft Visual C++ Toolkit 2003 (Win32)
  • Microsoft Visual C++ 2005 (Win32)
  • Borland's C++ Compiler 5.5 (Win32)
  • DigitalMars C/C++ (Win32)
  • OpenWatcom (Win32)
  • Intel C++ compiler (Win32)
  • Small Device C Compiler (SDCC)
  • Digital Mars D (Win32, Linux)
  • GDC D Compiler

Уверен, что можно настроить эту ИДЕ и на использование с другими компиляторами. 

Так как ИДЕ у нас Free, то и компилятор тоже надо брать free-шный, то есть свободный. И, о чудо, можно скачать CodeBlocks уже в комплекте с компилятором minGW (Minimalist GNU for Windows). Качаем именно этот вариант! (codeblocks-8.02mingw-setup.exe 28 Feb 2008  19.3 MB) последний на момент написания статьи. Есть возможность скачать этот архив с двух сайтов Sourceforge или BerliOS, выбирайте сами. Установка программы тривиальна до безобразия, от вас не потребуется никаких навыков, кроме попадания и клацанья мышкой на нужной кнопке. Поставьте его в C:\Program Files\CodeBlocks , как он и предлагает по-умолчанию. При первом запуске выскочит окошко где надо будет указать компилятор с которым ИДЕ будет работать, если вы скачали архив с minGW, то напротив строки GNU GCC Compiler будет стоять слово Detect, в столбце Status. Жмыхаем дальше и попадаем в саму программу.

 

 

Давайте проверим ее работоспособность, выбираем Console Application жмем Create. CodeBlocks сам создал файл и обозвал его main.cpp. Заходим в него

 

 

И нажимаем F9. Так же (что равнозначно) можете нажать на иконку, которая находится в верхнем тулбаре, смотрите там идет шестеренка (скомпилить программу в exe-шник), треугольничик play(запустить exe-шник) и шестеренка с кнопкой play(что означает скомпилить, а потом запустить, по буржуйски Build & Run ) всплывающая подсказка подскажет вам, какую кнопку нажать.

 

 

Хеллоу Ворлд! Ого, все работает! Поздравляю!

 

Пару слов об SDL.

Теперь разберемся почему SDL (Simple DirectMedia Layer). Это движок для быстрого и качественного создания графических приложений, в том числе и игр. Его создатель, талантливый программист Sam Oscar Lantinga.

 

Он был главным программистом(Lead Programmer) в Loki Software(August 1998 - January 2002). Эта компания занималась тем, что портировала игры с одной платформы(Windows) на другую (Linux). Результатом их работы стала библиотека SDL. Которая уменьшала трудозатраты на такого рода перевод игр в разы. Кстати, они же и "родители" OpenAL библиотеки(кросплатформа для звука), которую потом подхватили такие киты как Creative Technology и Apple Computer. Теперь Сэм заслуженно работает в одной из самых известных гейм-девелоперских контор: Blizzard Entertainment. 

 

Движок очень прост в освоении, есть активное комьюнити как на английском, так и на русском. А достаточно большое количество туторов, сделает ваш путь в освоении данного движка более легким. Стоит заметить, что идет постоянное развитие движка как самого ядра, так и дополнительных библиотек(модулей) уже насчитывается порядка 70 штук, отвечающих за работу со звуком, графикой, сетью, системами ввода и т.д. и т.п. К слову говоря, известный всем DosBox так же был написан с использованием SDL.

 

Как вы уже догадались SDL также работает на многих платформах(он собственно для этого и создавался). И мне кажется логичным объединение этих двух программ. То есть написание игр для различных платформ на кросплатформенном ИДЕ и кросплатформенном движке. И хочу заметить, что все три компонента, а именно ИДЕ(CodeBlocks) + компилятор(minGW) + движок(SDL) - бесплатны. Конечно, они бесплатны в рамках лицензии GNU.

 

Итак ИДЕ готово, и компилятор настроен, глаза дергаются, а руки делают 😉 Остался последний шаг - установить сам SDL.

 

Ставим SDL.

ШАГ 1. Что же приступим. Возможно, кто-то из вас не узнаете ничего нового, а кому-то это может пригодиться.

Первым делом скачиваем саму библиотеку SDL с офф. сайта. http://www.libsdl.org/download-1.2.php Смотрим в разделе "Development Libraries" будем ставить для Windows значит скачиваем "SDL-devel-1.2.13-mingw32.tar.gz" (это последний релиз на момент написания статьи). Надо ли говорить или повторять из вышесказанного, что нам нужна minGW версия? Думаю, это очевидно 😉 .

 

ШАГ 2.  Распаковываем содержимое архива во временную папку ( к примеру в c:\sdl ) Я пользуюсь winRar-ом , но подойдет и другой архиватор, который сможет распаковать SDL-devel-1.2.13-mingw32.tar.gz. Ок.

 

Теперь нам надо открыть директорию, куда мы установили CodeBlocks и войти в папку include. У меня это C:\Program Files\CodeBlocks\include видите там много разных файлов, сюда нам надо переместить содержимое папки C:\sdl\include , то есть все хидеры(заголовочные файлы SDL). Другими словами из C:\sdl\include берем папку SDL и переписываем в C:\Program Files\CodeBlocks\include ВАЖНО! переписываем именно папку, смотрите:

Далее, содержимое папки c:\sdl\lib переписываем в папку C:\Program Files\CodeBlocks\lib . Так теперь, о том что делать с файлом SDL.dll(он находится в папке  c:\sdl\bin), можно поступить двумя способами:

1. поместить этот файл в папку с вашим проектом. Но в этом случае в папку каждого вашего нового проекта надо будет класть этот файл, а иначе проект не запустится, не найдя SDL.dll рядом с собой.

2. можно поместить этот файл в C:\Program Files\CodeBlocks\bin или лучше в C:\Windows\system32 в этом случае, любой проект, скомпиленый для SDL вами или кем-то другим будет спокойно запускаться. Дело в том, что если запускаемое приложение нуждается в какой-то дополнительной библиотеке, то оно ищет эту библиотеку в текущей директории, а если его не находит там, то смотрит в C:\Windows\system32. Таким образом единожды поместив файл SDL.dll в эту папку, не будет никакой необходимости, как в первом случае, гонять этот файл по папкам. Я считаю это самым лучшим вариантом. Но если вы дадите поиграться в вашу новую игрушку другу, то не забывайте рядом с exe-шником положить библиотеку, ведь у него может и не быть этого файла в C:\Windows\system32 .

 

ШАГ 3. Запускаем CodeBlocks выбираем SDL Application. И у вас сформируется проект, уже с минимальным SDL приложением. Запускаем (F9) и получаем вот это:

Если получаем кучу предупреждений (warnings), значит неправильно переписали папку include. Если компилится, но рушится при запуске, тогда приложение не нашло файл SDL.dll . Если все получилось, то радуемся 😉 И можем уже начинать писать какую-нить простенькую игрулину.

 

Материалы:

 

 

 

 

 

 

 

 

dimanche.ucoz.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *