Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Инструменты разработчика _ code::blocks назначить действие для Run

Автор: x-8973 20.11.2015, 20:51

Всем доброго времени суток.
Задумал я приспособить Raspberry под инструмент для разработки прошивок для AVR. Установил AVRDUDE, AVR GCC, необходимые библиотеки. Через консоль прошивается на ура. Теперь стоит цель настроить для этого среду Code::Blocks. Хочу, чтобы при нажатии кнопки Run запускался AVRDUDE с необходимыми параметрами и прошивал чип. Кто может подсказать, где задается действие по нажатию Run? Сколько ни спрашивал у Яндекса и Гугла, ответа не получил.
Смотрел в меню Toos->Configure tools. Непонятны две вещи: как указать запускаемой Дудке, какой чип используется (задается в свойствах проекта), и как назначить действие кнопке Run?
Заранее спасибо за ответы.

Автор: Iron Bug 20.11.2015, 23:34

меню Project->Set programs' arguments.
в поле Host application задаётся команда, в поле Program arguments - параметры

кроме того, в Project build settings есть вкладка Pre/post build steps, в которой можно указать скрипты, которые будут выполняться, соответственно, перед и после сборки.

Автор: x-8973 21.11.2015, 8:38

Цитата(Iron Bug @ 21.11.2015, 1:34) *
меню Project->Set programs' arguments.
в поле Host application задаётся команда, в поле Program arguments - параметры


На Host application среде пофиг. В аргументах указал переменную ${TARGET_OUTPUT_FILE} - в путь к бинарнику она не преобразовалась. В логе сборки вижу:

Executing: /home/pi/BUP/bin/Debug/BUP.elf -c linuxspi -P /dev/spidev0.0 -U flash:w:${TARGET_OUTPUT_FILE} (in /home/pi/BUP)
Process terminated with status 2

Цитата(Iron Bug @ 21.11.2015, 1:34) *
кроме того, в Project build settings есть вкладка Pre/post build steps, в которой можно указать скрипты, которые будут выполняться, соответственно, перед и после сборки.


Да, с Pre-build steps уже разобрался, там у меня прога-счетчик билдов стоит. Но это слегка не то, оно выполняется по действию Build.

Автор: Iron Bug 21.11.2015, 16:01

я не знаю, распознаёт ли CodeBlocks макросы в полях выполняемого файла и аргументов.

P.S. проверила на мелком примере, CodeBlocks нормально распознаёт свои макросы(например, $(TARGET_OUTPUT_FILE)) в поле Host application.
в поле задания параметров макросы не действуют, но сами параметры можно влепить прямо в поле Host application и проблем не возникает.

Автор: x-8973 21.11.2015, 21:23

Цитата(Iron Bug @ 21.11.2015, 18:01) *
CodeBlocks нормально распознаёт свои макросы(например, $(TARGET_OUTPUT_FILE)) в поле Host application.
в поле задания параметров макросы не действуют, но сами параметры можно влепить прямо в поле Host application и проблем не возникает.


Не знаю, как у Вас это работает. Мой CodeBlocks просто игнорирует все, что написано в Host Application. Сейчас постараюсь скриншот сделать, в Распбиане это нетривиальная задача.

UPD: загрузил скриншот.

 

Автор: Iron Bug 21.11.2015, 22:27

судя по скриншоту у тебя ну очень древняя версия CodeBlocks. лучше качни сорцы с транка и собери. собирается элементарно. правда, на raspberri сборка может занять несколько часов.
разработчики CodeBlocks не торопятся с выкатыванием стабильных версий. поэтому в стабильные дистрибутивы попадает очень старая версия, как правило. реально рабочий вариант в транке и сейчас он вполне себе стабилен, я недавно на работе его собирала - всё работает, нареканий нет.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)