Codeblocks avr linux настройка

Установка и настройка Code::Blocks

Code::Blocks — свободная интегрированная среда разработки (IDE) с отрытым исходным кодом, которая поддерживает использование различных компиляторов. По умолчанию Code::Blocks использует компилятор MinGW, который поставляется в комплекте (можно скачать дистрибутив и без встроенного компилятора). MinGW – это вариант компилятора GNU C/C++ для Windows. MinGW – это сокращение «Minimalist GNU для Windows». Набор MinGW включает инструменты для программирования с открытым исходным кодом, которые не зависят от каких-либо платных сторонних библиотек. Он используется многими средами разработки (Visual Studio использует собственный компилятор). MinGW включает набор GNU Compiler Collection (GCC), включая компиляторы C, C ++, ADA и Fortran. Code::Blocks имеет открытую архитектуру, что позволяет ему масштабироваться за счёт подключаемых модулей (можно писать программы как под windows, linux, так и под различные микропроцессоры типа avr и stm32). Отладчик кода в Code::Blocks поддерживает точки останова в исходном коде или в данных, которые обрабатывает программа.

Code::Blocks доступен под Windows, Linux и Mac OS X. Сайт проекта — codeblocks.org.

Установка компилятора MinGW

Установка самого Code::Blocks не представляет ничего сложного. Желательно только устанавливать его в папку, в пути к которой нет пробелов или кириллицы. Дистрибутив Code::Blocks версии 17.12 содержал старую версию компилятора MinGW, поэтому приходилось отдельно скачивать Code::Blocks без компилятора MinGW и затем устанавливать компилятор. В настоящий момент версия Code::Blocks 20.03 содержит актуальную версию MinGW (по умолчанию используется 64-разрядная версия компилятора, но можно скачать дистрибутив и с 32-разядной версией). Но на всякий случай рассмотрим отдельно установку MinGW (на примере 32-разрядной версии). Сначала скачиваем дистрибутив Code::Blocks с сайта проекта mingw.org. После запуска появится следующее окно.

Нажмимаем Install и получаем следующее окно.

Здесь в поле Installation Directory указываем расположение файлов компилятора. По умолчанию это C:\MinGW, его и оставляем. Нажимаем Continue и начинается загрузка и установка менеджера для установки MinGW.

Нажимаем Continue и получаем следующее окно.

Для программированя на C++ выбираем для установки пакеты mingw32-base-bin (A Basic MinGW Installation) и mingw32-gcc-g++-bin (The GNU C++ Compiler), а затем жмём в меню Installation -> Apply Changes. Появится окно, в котором будет отображаться загрузка выбранных пакетов.

По завершении загрузки пакетов нажимаем на кнопку Close

При первом запуске Code::Blocks автоматически обнаружит установленный компилятор. При возникновении проблем необходимо перейти в меню Settings -> Compiler. и на вкладке Toolchain executables проверить правильность пути к MinGW, а также имена файлов компилятора и линковщика. Теперь можно создавать проект.

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

Для создания проекта необходимо перейти в меню File -> New -> Project. . Либо сразу нажать на кнопку Create a new project на стартовой странице.

В появившемся окне выбираем необходимый тип проекта. Здесь мы видим, что Code::Blocks имеет большое количество шаблонов проектов. В нашем случае это Console application (консольное приложение).

Читайте также:  Как установить windows с флешки с помощью rufus

В следующем окне выбираем используемый язык программирования. Выбираем C++ и нажимаем на кнопку Next.

Далее в поле Project Title вписываем название проекта. В нашем случае это Test. Тут же указываем расположение проекта на диске (поле Folder to create project in). В указанной нами папке Code::Blocks автоматически создаст папку с ранее указанным названием проекта. Указав имя папки и имя файла, нажимаем на кнопку Next.

В следующем окне выбираем компилятор, а также сценарии сборки. По умолчанию выбран GNU GCC Compiler, который мы и будем использовать. Сценарии сборки позволяют получить несколько версий одного приложения. По умолчанию предполагается два сценария: Debug (используется при отладке) и Release (сценарий компиляции готового приложения). Хотя бы один из сценариев должен быть выбран. Если выбраны оба сценария, то в дальнейшем можно будет переключаться между ними.

Жмём Finish и получаем минимальную программу, так называемый Hello World!

Нажмимаем F9 для компиляции и запуска программы и получаем следующее окно.

Обратите внимание на кнопки на панели инструментов, предназначенные для запуска и компиляции программы.

Первая слева кнопка (с желтой шестеренкой) запускает только компиляцию программы, вторая (с зеленым треугольником) запускает на исполнение последний скомпилированный файл программы, третья (с зеленым треугольником и желтой шестеренкой) — сначала запускает компиляцию программы, а затем запускает полученный exe-файл программы. Частой ошибкой является использование кнопки запуска (с зеленым треугольником) для компиляции и запуска программы. В этом случае внесенные в исходный код изменения не будут влиять на поведение программы, поскольку программа не была перекомпилирована.

Если открытый для редактирования файл был изменен, то на его вкладке слева от имени появится звездочка как на рисунке ниже. Для сохранения программ, как и во многих других приложениях достаточно нажать сочетание клавиш Ctrl+S. Расположение (путь) и имя отрытого в данный момент файла отображается в строке состояния, в левой нижней части окна.

Если ваши программы имеют небольшой объем и состоят только из одного файла, то лучше создавать не проект, а просто новый файл (File -> New -> Empty file). Связано это с тем, что если у вас несколько проектов, то Code::Blocks будет компилировать и запускать только активный проект. Определить какой проект у вас активен в текущий момент можно по состоянию окна Management, в котором показываются все открытые проекты и файлы. Если одновремено открыто несколько проектов, то название активного будет выделено полужирным шрифтом. Если окно отсутствует, то открыть его можно через меню View -> Manager.

Для переключения между проектами необходимо навести указатель мыши, на тот проект, который вы необходимо сделать активным и затем дважды кликнуть левой кнопкой мыши на названии проекта либо кликнуть один раз правой кнопкой мыши и в появившемся контекстном меню выбрать пункт Activate project. В этом же меню доступны другие действия с проектом (в том числе добавление в проект новых файлов).

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

Читайте также:  Start windows debugging mode

Поддержка кириллицы в консоли

Проблема отображения кириллических символов в консоли Windows связана с тем, что консоль в этой операционной системе имеет собственную настройку кодовой страницы. Если Windows использует кодировку cp1251 (она же windows-1251), то консоль по умолчанию использует cp866 использовавшуюся в MS-DOS. Поэтому для корректного ввода и вывода кириллицы на консоль надо использовать пару функций SetConsoleCP() и SetConsoleOutputCP() соответственно. В качестве единственного параметра обеим функциям передается номер кодовой страницы – 1251. Для использования кодировки UTF-8 необходимо передать значение CP_UTF8.

Ниже показан пример программы, которая сначала просто выводит строку с кириллическими символами, а затем считывает строку и выводит ее обратно на экран.

Далее необходимо запустить программу, щёлкнуть левой кнопкой мыши по заголовку окна (где показывается путь к запущенному .exe файлу) и в контекстном меню выбрать пункт Свойства. Затем на вкладке Шрифт установить шрифт Lucida Console и выбрать удобный размер шрифта (там же можно настроить и другие параметры). После этого символы кириллицы будут корректно отображаться. Данную настройку достаточно выполнить один раз, для других программ и проектов будет достаточно установить кодовую страницу.

Следует заметить, что при использовании только функции setlocale(LC_ALL, «Russian») вывод осуществляется в cp1251, а ввод – в cp866. Это приводит к тому, что в памяти программы введённая с кириллическими символами строка хранится в другой кодировке. Наглядно это можно увидеть, если в показанном примере закомментировать вызов функции SetConsoleCP(). Строка которую выдаст программа будет отличаться от той, что ввели с клавиатуры.

Источник

Пишем программы для микроконтроллеров AVR в среде Code::Blocks 10.5

В этом небольшом топике будет показано как использовать популярную IDE Code::Blocks 10.5 для написания программ для микроконтроллеров семейства AVR фирмы ATMEL.

И так, начинается все со скачивания свободного GCC — компилятора C для AVR, который под Windows соответственно называется WinAVR.

Сейчас самой новой версией является версия WinAVR-20100110.
Этот файл скачиваем с SourceForge.

Установка WinAVR

Пакет просто устанавливается куда удобно, но, естественно, русских букв не должно быть в пути. После установки, путь к компилятору нужно добавить в PATH, чтобы все программы знали, что мы теперь гордые обладатели WinAVR.
На этом все.

Code::Blocks

Code::Blocks установлена,
Запускаем, создаем новый проект, выбираем AVR Project.

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

Пишем простую программу

Красиво мигаем светодиодами, подключенными к PORTD.

нажимаем билд — без ошибок, 2 предупреждения.

В рабочей директории проекта в папке BIN находим hex-файл, это и есть программа для нашего микроконтроллера, которая может быть загружена в него и запущена.

Читайте также:  Linux mint format flash

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

При работе с Code::Blocks необходимость заполнения вручную файла makefile отпадает. Потому как все можно настроить в окне настроек компиляции.
Здесь же редактируется оптимизация и прочее прочее.

Code::Blocks очень гибкая среда, которая подойдет многим.
Подошла и мне, теперь я постоянно пишу в ней код для AVR, это удобно.

Источник

[РЕШЕНО] Настройка AVR-GCC для Code::Blocks — подскажите.

Помогите, пожалуйста, со следующим вопросом:

Есть комп с Linux, на нем стоит AVR Toolchain. Пытаюсь создать удобоваримую среду для программирования МК (я новичок) без использования костылей в виде Arduino IDE. Все бы хорошо, но почему-то некорректно собирается hex файл Code::Blocks.

В чем суть. МК — attiny45, фьюзы выставлены на делитель частоты = 8. В #define прописываю F_CPU 1000000UL до объявления #include , однако после сборки и заливки в контроллер, светодиод в стандартном коде мигает без учета заданного интервала задержки с помощью _delay_ms(1000); мигает с гораздо более высокой частотой. Если этот же код собрать в Arduino IDE, то тактирование выполняется корректно. Подскажите, где копать и какие параметры необходимо дополнительно передавать компилятору.

Шаблоны проектов на C++ для AVR [GCC, IAR]
Ссылка на svn репозиторий: Шаблоны: https://mysvn.ru/avr/templates/ Примеры.

Шаблоны проектов на C++ для AVR [GCC, IAR]
Ссылка на svn репозиторий: Шаблоны: https://mysvn.ru/avr/templates/ Примеры.

Как в AVR-GCC вычислять адрес для in/out?
Hi, Ott! Подскажите, как грамотно написать фрагмент программы на Си, где идёт обращение к портам.

GCC-AVR Linux
Вот такая констукция #asm .equ __y2s_port=0?12 ;PORTD .equ __sda_bit=0 .equ __scl_bit=1.

Странно. Только что проверил сборку на Wymdows 7 и все собралось как надо.
Так же собрал вручную с помощью Geany:
1. avr-gcc -Wall -Os -mmcu=attiny45 -c %e.c
2. avr-gcc -g -mmcu=attiny45 -o %e.elf %e.o -Wl,-Map,%e.map
3. avr-objcopy -j .text -j .data -O ihex %e.elf %e.hex

и все собралось должным образом. Что не так с Code::Blocks?

Решил проблему. Заключалась она в дефолтных настройках компилятора Code::Blocks.
В Settings => Compyter. изменил:

  1. Linker for dynamic libs в Toolchain ixicutables с изначального «avr-g++» на «avr-gcc»:

  2. Seorsh directories для Linker и Compyter с «/usr/include» на «/usr/lib/avr/include» и с «/usr/lib» на «/usr/lib/avr/lib»:

Всем спасибо за помощь. Пойду дальше постигать многогранные коротконожки.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

компиляция avr-gcc
Народ подскажите как компилировать проекты написанные с помощью LUFA. 1 из командной строки. 2 из.

AVR питание [Решено]
Вопрос: необходимо ли подводить питание на все ножки VCC и GND, или достаточно только на одну пару.

Настройка Netbeans для программирования Atmel AVR
Всем привет. В статье речь пойдет о настройке IDE Netbeans для программирования 8-битных.

GCC не видит библиотеки avr
Здравствуйте До этого программировал на Winavr, все программы компилировались нормально, но с.

Источник

Оцените статью