MrYuran
Feb 17 2011, 09:52
А я так вообще только что об этой фиче узнал!
Был шокирован, сколько у меня одновременно файлов открыто

Спасибо за наводку, полезная штука!
Цитата(_Pasha @ Feb 17 2011, 15:38)

А Вы переключались при таких условиях:
1. Несколько открытых проектов
2. Файлы называются одинаково
?
Без окошка - сплошной бардак
Имхо, это в хотелки надо внести - чтоб если имена открытых файлов уникальны, то окошко и не надо...
На сколько я понял без окна нельзя...жаль
А вообще в описанной вами ситуации, на мой взгляд, удобнее использовать дерево проектов и открывать владки оттуда (темболее при одинаковых названиях файлов будет видно к какому проекту он относится.
А вот по ctrl+tab было бы значительно удобнее и быстрее переключаться на предыдущую вкладку (предыдущую НЕ в очереди вкладок на панели, а на ту которую открывал до этого)...так переключение происходит в редакторе geany, мегаудобно.
MrYuran
Feb 17 2011, 11:14
Цитата(Bass @ Feb 17 2011, 13:30)

А вот по ctrl+tab было бы значительно удобнее и быстрее переключаться на предыдущую вкладку (предыдущую НЕ в очереди вкладок на панели, а на ту которую открывал до этого)...так переключение происходит в редакторе geany, мегаудобно.
Это другая фича, Alt + <-/-> - переход вперёд/назад.
Причём, тоже выскакивает список, в котором сразу можно выбрать нужный файл.
Причём, перескакиваешь не просто в файл, а именно на то место, откуда ушёл.
Мегаудобно при обозревании обширных исходников.
Скакаем по "Find Declaration/Implementation/Occurences", смотрим что нужно, а потом альт-назад - и опять в исходном месте
интересная ситуация...дома в линуксе оказывается ctrl+tab работает без "окошка", а появляется оно по ctrl+,
хотя в файле настроек никаких упоминаний про ctrl+tab не видно (можно изменить только переключение с "окном")
UPD: А в винде кстати Alt + <-/-> не работает что-то
UPD2: Блин и почему в винде все через одно место...перескакивание влево/вправо висит на ctrl+shift+tab/ctrl+alt+tab
В очередной раз обиделся на NetBeans (поставил 6.9.1, а он в упор не захотел выдавать task list, говорит, нетути их, поставил назад 6.8, а он уже не открывает покоцанный под себя 6.9.1-ым проект).
Последняя капля для попробовать на работе C::B 10.05 (дома комп помощнее и NetBeans не тормозит) (eclipse тоже где-то в планах, но не сейчас).
В общем и целом очень приятно.
Но вот облом вышел с диагностикой компилятора. Всё распознаёт и в оба списока (Build Log, Build Messages) правильно вываливает. Но вот перейти в нужный файл на нужную строку кликом по сообщению -- не хочет.
Вроде всё облазил, не нашёл :-(
p.s. Ubuntu/x86_64 10.04, C::B сборка с сайта.
Очень жаль, что
мы так и не услышали начальника транспортного отдела Code::Blocks (тоже) не умеет сохраять настройки редактора (шрифт, применние табуляции и чему она равна, ...) попроектно.
Опять захотел попробовать поставить пропорционльный шрифт и в текст вставлять именно табуляции.
Но при этом старые проекты, где моноширинный шрифт и по 4 пробела отступы, начинают довольно некрасив смотреться.
На первый взгял выглядит симпатично. Всегда хотелось сравнить, поработав параллельно над разными проектами в таком и в таком режиме.
А сравнивать пропорциональный в C::B и моно в NetBeas -- неправильно.
Да, и уже менее оффтоп -- C::B, как и NetBeans, при открытии нескольких проектов в оболочке, не умеет в редкторе как-то подчёркивать -- какой файл к какому проекту относится. Хотя бы -- какой к активному, какой ко всем остальным. Хотя бы цветом TAB-а.
Хорошо хоть умеет открывать несколько копия себя, любимого (в NetBeans псисы не нашёл).
MrYuran
Mar 27 2011, 12:31
Цитата(ReAl @ Mar 26 2011, 17:13)

Но вот облом вышел с диагностикой компилятора. Всё распознаёт и в оба списока (Build Log, Build Messages) правильно вываливает. Но вот перейти в нужный файл на нужную строку кликом по сообщению -- не хочет.
Вроде всё облазил, не нашёл :-(
А плагины все установлены?
Я тоже не нашёл, где конкретно это включается, но как-то таки включил!
Возможно, всё-таки эта фича в одном из плагинов закопана.
Да как скачал архив, так и поставил, отдельно плагинов не докачивал.
Но обрабатывает вроде ж всё нормально, в смысле ошибки/предупреждения расцвечивает по-разному, фича "автоматом показывать/прятать панель, оставлять при наличии ошибок" работает, т.е. он их видит. Имя файла, номер строки -- всё распарсил. Ну да ладно, поищу ещё.
Тут ещё крик души -- ну почему ни он, ни нетбинс не могут того, что может старый добрый MED, инсталляшка которого не так давно перестала влазить на 3-дюймовую дискетку 1.44МБ (сейчас где-то 1.7занимает). А именно -- для каждого "синтаксиса" _отдельно_ включать word-wrap, работу с табуляциями/пробелами, выставлять правую границу и т.п.
Без этого настолько неудобно редактировать сопутствующие проекту .txt-файлы, аж жуть :-(
Приходится вручную строки переводить, чтобы за край экрана не уходило. При редактировании оно едет. Некрасиво.
Makefile, опять-таки. Там же табуляции нужны. А в исходниках у меня пробелы, тычёк TAB в редакторе тоже настроен пробелы вставлять.
Придётся в C::B настроить для *.txt вызывать gedit (а нетбинс и такого не умеет).
_Pasha
Mar 27 2011, 23:55
Цитата(ReAl @ Mar 26 2011, 17:13)

Всё распознаёт и в оба списока (Build Log, Build Messages) правильно вываливает. Но вот перейти в нужный файл на нужную строку кликом по сообщению -- не хочет.
Вроде всё облазил, не нашёл :-(
10.05 rev6283 для выни переходит из
build messages без проблем.
У меня 10.05 rev 6282 для Linux/64
Скачан ещё в прошлом году весной был, но руки не доходили на каком-то проекте его попробовать.
Гляну что там сейчас.
Создал для С::B
Код
#include <avr/io.h>
#include <avr/eeprom.h>
uint8_t EEMEM temp1=2;
uint8_t temp2;
int main(void)
{
temp2=eeprom_read_byte(&temp1);
while(1)
{
}
return 0;
}
Все настройки по умолчанию.
При компиляции ощибка
Код
avr-gcc.exe -Wall -mmcu=atmega16 -DF_CPU=16000000UL -g -IC:\WinAVR\avr\include -IC:\WinAVR\avr\lib -IC:\test -c main.c -o obj\Debug\main.o
avr-g++.exe -LC:\WinAVR\avr\lib -LC:\WinAVR\avr\include -o bin\Debug\test.elf obj\Debug\main.o -mmcu=atmega16 -Wl,-Map=bin\Debug\test.elf.map,--cref
obj\Debug\main.o: In function `main':
C:\test/main.c:13: undefined reference to `__eerd_byte_m16'
Выяснил, что не находит библиотеку libc.a
Как правильно подсунуть библиотеку.
Marian
Apr 14 2011, 19:25
Решено.
_Pasha
Jun 20 2011, 16:45
Кто подскажет:
когда-то случайно прибил панель инструментов с кнопками Build итд итп. Так вот, восстановить ея до сих пор не могу. Венда. Наверняка, какая-то бага. Что почистить/предпринять. Перестановка без чистки реестра не помогла
View -> Toolbars -> Compiler не помогает чтоли?
_Pasha
Jun 22 2011, 03:58
Цитата(Bass @ Jun 22 2011, 06:56)

View -> Toolbars -> Compiler не помогает чтоли?
Конечно нет
c:\Documents and Settings\User\Application Data\codeblocks\
сюда тоже смотрели?
MrYuran
Jun 22 2011, 06:07
Попробовал токошто.
Удалил панельку, затем поставил галку вью->тулбарс->компилер - панелька всплыла посреди окна. Вставил на место - как там и была.
Хотя, я ей редко пользуюсь. Практически никогда.
Обычно кликаю правой кнопкой на проекте и выбираю "ребилд"
Насколько понимаю, все подобные настройки хранятся в файле .layout
koluna
Nov 23 2011, 07:23
Здравствуйте!
Прикрутил под Убунтой к C::B 10.05 avrdude через сценарий. Нормально работает.
Но хотелось бы передать в сценарий помимо имени хекса еще и тип процессора.
Как это лучше сделать?
MrYuran
Nov 23 2011, 07:48
Цитата(n_bogoyavlensky @ Nov 23 2011, 11:23)

Как это лучше сделать?
Может, через дефайны проекта?
koluna
Nov 23 2011, 08:27
Цитата(MrYuran @ Nov 23 2011, 11:48)

Может, через дефайны проекта?
Вопрос в том, как эти дефайны передать avrdude...
Задал переменную DUDE_MCU_TYPE через Project->Build Options...->Custom Variables.
Указал в Tools при вызове своего сценария ${DUDE_MCU_TYPE} в качестве параметра.
Работает.
Но хотелось бы еще больше автоматизировать процесс, чтобы в новых проектах руками вообще ничего не дописывать
Code::blocks 10.05
Windows 7
Консольное приложение.
Дебаг почему-то не работает.
В другом проекте до этого работал. Перезагрузка не помогает.
Окошко мелькает и программа завершается (даже программа-пустышка).
Может кто-нибудь что-нибудь посоветовать?
Цитата(n_bogoyavlensky @ Nov 23 2011, 11:27)

Но хотелось бы еще больше автоматизировать процесс, чтобы в новых проектах руками вообще ничего не дописывать

Вот именно из этих соображений, «как ленивый пользователь»™, я в C::B использую режим «с внешним Makefile».
В результате у меня работает та система Makefile, которая была заложена еще в середине 90-тых с досовским QEdit и с начала 2000-ных менялась практически только «косметически».
А в C::B в TOOLS сделана «тулза» Program, вызывающая
make program. И посажена на ту же Ctrl-F9, на которой сидела в QEdit.
Только тогда цель называлось
run, так как запускала и из-под борланд-С-шные BGI-программы, и свой лоадер в ОЗУ платы с i80c32 и т.п.
Цитата(ReAl @ Sep 1 2012, 16:06)

использую режим «с внешним Makefile».
...
посажена на ту же Ctrl-F9
Аналогично, шеф!

(Только без C::B, эклипсоиды мы

)
_Pasha
Sep 19 2012, 18:36
Только что C::B под убунтой неприятно удивил

ToDo items при клике направляют на деревню дедушке - неправильно ни имя файла ни номер строки. Где глюки-хз. Под виндой такого отродясь не было. Что-то тянет на эклипс....
И в 10.04 дома, и в 12.04 на работе всё нормально.
Да, я раньше жаловался, что по сообщениям компилятора не переходит — так то беда была в том, что свой Makefile (относительно которого в сообщениях компилятора пути) лежал каталогом ниже, чем файлы проекта C::B
ivainc1789
Oct 21 2012, 11:51
Не поможете настроить CodeBlocks (далее CB) для компиляции проекта под STM32F0? До этого использовал IAR и особых проблем не было... Сейчас нужно использовать бесплатные средства, в связи с чем установил CB и также скачал и установил тулчейн с gnuarm.com. Изучив все темы Электроникса и перерыв весь Инет понял, что использовать GCC очень сложно: бардак полный, куча модов, отсутствие вменяемой документации и т. д. Одним словом, голова болит уже второй день...
Тем не менее, в CB удалось сделать простой консольный проект и даже запустить build. В результате в папке Debug создался файл почему-то с расширением EXE при запуске которого - сообщение что он не совместим с моей win7hpsp1-64.
Непонятно вот что. Компилирует без ошибок с такой командной строкой:
Код
arm-elf-gcc.exe -Wall -g -mcpu=arm7tdmi -I"C:\Program Files (x86)\GNUARM\include" -c main.c -o obj\Debug\main.o
arm-elf-g++.exe -L"C:\Program Files (x86)\GNUARM\lib" -o bin\Debug\vladi.exe obj\Debug\main.o
В файле документации GCC.PDF находим возможность идентифицировать для компилятора наш проц. В build option добавляем ключ -mcpu=Cortex-M0. В результате компилятор сообщает:
Код
arm-elf-gcc.exe -Wall -g -mcpu=cortex-m0 -I"C:\Program Files (x86)\GNUARM\include" -c main.c -o obj\Debug\main.o
main.c:1: error: bad value (cortex-m0) for -mcpu= switch
Что делаю не так?
_Pasha
Nov 13 2012, 13:37
Вышел в свет C::B 12.11RC1
Под линух нету, а мне - влом собирать.
Как впечатления?
--------------------
еще сегодня увидел типофорк www.emIDE.org

Чувак кастрировал c::b, приделал темплейт проекта под кортексы и несказанно рад... под вайном - виснет наглухо.
MrYuran
Nov 14 2012, 05:12
Цитата(_Pasha @ Nov 13 2012, 17:37)

Вышел в свет C::B 12.11RC1
Надо будет попробовать.
А меня насильно на вижуалстудию пересаживают. Эх и убожество..
_Pasha
Jan 31 2013, 18:18
Я тут обнаружил, что C::B, возможно, с github-GCC и егойным GDB возможно заработает. По крайней мере, texane уже отзывается нормально. Блин, как меня эклипс достал
AHTOXA
Jan 31 2013, 18:28
И break заработает?
Цитата(_Pasha @ Feb 1 2013, 00:18)

Блин, как меня эклипс достал

Это чем же? Я вот после эклипсы на дельфи плююсь, во как. Всё ж в эклипсе всё очень здорово сделано.
Цитата(AHTOXA @ Jan 31 2013, 21:28)

Это чем же?
Я так конкретно не могу сказать - вроде все по отдельности хорошо, а в общем -как-то давит и мешает думать.
Про C::B, вроде и watch работает, но все равно что-то с окном дизасма, в общем, фтопку. Тоже надоела эта вся чепуха.
Из форума
Цитата
Greetings! C::B project exceeds 1000 files!
УРА! Это что, классно?
Цитата(_Pasha @ Feb 1 2013, 12:29)

УРА! Это что, классно?
Ну, каждый волен сам себе придумывать поводы для гордости
ivainc1789
Feb 1 2013, 14:52
Таки удалось настроить и поработать в Эклипсе. Я бы сказал, что среда показалась несколько "хаотичной" как иногда бывает когда единое целостное устройство разрабатывает много разношерстного народа. Кроме того, для эмбеддерских дел она не совсем подходит, рассчитана на разработку программ для ОС. Как следствие, много ненужных кнопок на панелях, панели плохо неинтуитивно настраиваемые, в меню и вообще настройках настоящий бардак. К этому быстро привыкаешь по той простой причине, что не вижу альтернативы. Была вялая попытка пользовать VS2012 но толком так времени все изучить и не хватило.
По моему скромному мнению, казалось бы, все что нам нужно по сути: мощный редактор кода и makefile.
И еще. Все эти гнутые бесплатные компиляторы пришлось отложить, т. к. .... ну несказанный геморрой! По моему, работать щас оптимально в связке Эклипс + Иар (плагины), в основном из-за яровского отладчика, приклеенного к Эклипсу и если не освоен makefile. С GDB у мну тоже не сложилось - показалось, что разрабы этот стандарт понимают по-разному и толком отладить прогу из посторонних редакторов и сред не всегда удается.
При чем тут клипса к сабжу?
--
Вам нравится "торчать" на ворованном ИАРе - таки флаг в руки.
Я как понял, что выход, по тому как грамотно использовать C::B для работы с arm'ами не найден?
Если вдруг кто уже настроил и хочет поделится своими знаниями, я буду очень рад.
Цитата(JTS @ Feb 4 2013, 23:57)

Я как понял, что выход, по тому как грамотно использовать C::B для работы с arm'ами не найден?
Если вдруг кто уже настроил и хочет поделится своими знаниями, я буду очень рад.
Радуйтесь: в сети пробегали темплейты проектов под stm32.
Но.. по сравнению с клипсой, все равно не то. Честное пионэрское.
RabidRabbit
Feb 5 2013, 09:12
Цитата(JTS @ Feb 4 2013, 23:57)

Я как понял, что выход, по тому как грамотно использовать C::B для работы с arm'ами не найден?
Что значит "грамотно"? Проекты собираются, отладка с цепочкой GDB->openOCD->JLink работает, лично мне больше и не надо
Цитата(_Pasha @ Jan 31 2013, 21:18)

Я тут обнаружил, что C::B, возможно, с github-GCC и егойным GDB возможно заработает. По крайней мере, texane уже отзывается нормально. Блин, как меня эклипс достал

Заработал, в общем, пошустрее клипсы, все ж приятнее. Индексер кривой, все как обычно

Наверное надо темплейт прожекта выложить...
Типа такого темплейта
Нажмите для просмотра прикрепленного файлаЗамечания оченно приветствуются.
На вопросы отвечу, т.к. кроме как у себя более нигде не проверял.
koluna
May 29 2013, 07:56
Всем привет!
Расскажите, пожалуйста, насколько сложно заточить CB для работы с Cortex-M3 (NXP, ST).
Возможные варианты компилятора: из коробки (CB), Sourcery CodeBench.
Сможет ли C::B генерить автоматом мейк-файл?
Программаторы: J-Link, STLink.
Eclipse как ИСР не предлагать.
koluna
May 29 2013, 11:14
Перечитал тему.
Как я понимаю, проблема снюхать CB и Cortex сводится к следующему.
1. Необходимость отладки (нужна ли?).
2. Максимальная автоматизация сборки проекта (толи использовать визард и визуально настраивать проект, толи использовать свой мейк-файл).
Далее - как сгенерить мейк-файл?
Компилятор + скрипты линкера + стартапы, это не проблема, как я понимаю (компилятор, допустим, взять Sourcery CodeBench, скрипты и стартапы взять из CMSIS)?
_Pasha
May 29 2013, 12:35
Ага, ничего Вы не поняли.
Здесь
описание проблемы и пути решения Всё равно, с точки зрения удобства визардов и таггера - под сабжем работать не очень удобно.
koluna
May 29 2013, 13:32
Цитата(_Pasha @ May 29 2013, 16:35)

Ага, ничего Вы не поняли.
Здесь
описание проблемы и пути решения Всё равно, с точки зрения удобства визардов и таггера - под сабжем работать не очень удобно.
Что такое "таггер"?
Перефразирую.
Отладка пока не нужна.
Нравится CB, переходить на другую ИСР пока не желаемо.
Цель: сборка проектов под Cortex-M3, заливка прошивки в МК.
Что мне для этого нужно?
Упрощенно алгоритм следующий, как я понимаю.
1. Ставим компилятор.
2. Прописываем его в CB.
3. Создаем проект в CB, настраиваем его для сборки или подключаем внешний мейк-файл (где взять?).
4. Добавляем в проект скрипты линкера и стартапы из CMSIS (придется их корректировать?).
5. Собираем проект.
6. Зашиваем в проц (тут видимо, придется пошаманить с ПО для программатора).
Просто привык к WinAVR, где все работает "из коробки".
А теперь перехожу на ARM, сталкиваюсь с трудностями.
MrYuran
May 30 2013, 05:15
Цитата(koluna @ May 29 2013, 17:32)

Просто привык к WinAVR, где все работает "из коробки".
А теперь перехожу на ARM, сталкиваюсь с трудностями.
Для начала добиться, чтобы "make all" из консоли собирал проект, а "make program" - прошивал.
После этого конкретная среда не имеет особого значения.
koluna
May 30 2013, 10:37
Цитата(MrYuran @ May 30 2013, 09:15)

Для начала добиться, чтобы "make all" из консоли собирал проект, а "make program" - прошивал.
После этого конкретная среда не имеет особого значения.
Это понятно.
Но сначала надо мейк сгенерить.
Сам пока не умею.
Думаю cmake освоить.
_Pasha
May 30 2013, 10:44
Цитата(koluna @ May 30 2013, 13:37)

Это понятно.
Прямо перед Вашим первым постом в этой ветке - я выкладывал вариант каким образом работать с кортексами. Ежли Вы до сих пор не удосужились глянуть, то что может быть понятно?
Там мейк ручками не пишется, - вызовы и параметры генерятся "галочками" из-под С::В, (чего иногда хочется, чего уж там).
_Артём_
May 30 2013, 12:11
Цитата(_Pasha @ May 30 2013, 13:44)

Там мейк ручками не пишется
Возможно есть вариант makefile project?
Цитата(_Pasha @ May 30 2013, 13:44)

вызовы и параметры генерятся "галочками" из-под С::В
Можно и вручную. Не нужны галочки.
Цитата(koluna @ May 29 2013, 16:32)

Нравится CB, переходить на другую ИСР пока не желаемо.
А ведь Эклипс лучше.
Цитата(koluna @ May 29 2013, 16:32)

1. Ставим компилятор.
Можно поставить Yagarto - к нему идёт и make.
YAGARTO GNU ARM toolchain и
YAGARTO Tools - make и тп.Цитата(koluna @ May 29 2013, 16:32)

3. Создаем проект в CB, настраиваем его для сборки или подключаем внешний мейк-файл (где взять?).
Например тут:
make для LPC17xx и
make для STM32F2xxЦитата(koluna @ May 29 2013, 16:32)

4. Добавляем в проект скрипты линкера и стартапы из CMSIS (придется их корректировать?).
Корректировать придётся...
koluna
May 30 2013, 14:15
Цитата(_Pasha @ May 30 2013, 14:44)

Прямо перед Вашим первым постом в этой ветке - я выкладывал вариант каким образом работать с кортексами. Ежли Вы до сих пор не удосужились глянуть, то что может быть понятно?
Там мейк ручками не пишется, - вызовы и параметры генерятся "галочками" из-под С::В, (чего иногда хочется, чего уж там).
Видел, просто не успел посмотреть подробнее.
Спасибо.
Помимо включенных в проект сценария линкера, стартапа и дефайнов для проца какие настройки (галочками) производились?
Можете расписать поподробнее, чтобы было на что опереться?
В стандартном визарде, насколько я помню, нет ничего подобного STM32F4.
_Pasha
May 30 2013, 14:40
Цитата(koluna @ May 30 2013, 17:15)

Можете расписать поподробнее, чтобы было на что опереться?
Там использовались переменные проекта, не очень удобно, но по-другому хуже. Проблема в том, чтобы получить один и тот же список параметров, используемых линкером и компилятором. Наверняка сталкивались с легким гемором при изменении таргет-процессора в AVR-проекте - надо перепрописывать и в линкере и в компилере и где еще? забыл...
И галочками не все множество параметров охвачено

Остальное - смотрите в project build options и properties , только смотреть придется внимательно - за что многие и ругают эту IDE.
Цитата(_Артём_ @ May 30 2013, 16:11)

А ведь Эклипс лучше.
Возможно, но решил оставить на потом

Цитата
Можно поставить Yagarto - к нему идёт и make.
Пока выбрал Codesourcery крайний релиз.
Цитата
Спасибо!
Цитата
Корректировать придётся...
Да я уж понял...
Хочу пока руками все сделать, чтобы разобраться получше.
Поставил компилятор.
Сделал простейшее тестовое приложение.
Пытался вчера вечером собрать, ковыряя стартап, скрипт и подбирая ключи компилятора и линкера.
Собирал под Линухом простым шеловским скриптом (позже выложу для анализа, может, порекомендуете что). Полноценный мейк - следующий этап. Вручную ничего не собирал еще, решил научиться (что почитать бы?).
Стартап и скрипт взял из CMSIS (\Device\ARM\ARMCM3\Source\GCC): gcc_arm.ld, startup_ARMCM3.S.
Пока Си, позже хочу Си++.
При сборке линкер ругался сначала на отсутствие libnosys.a (ее действительно нет в дистрибе компилятора) - убрал ее из списка в сценарии
Цитата
/* Library configurations */
GROUP(libgcc.a libc.a libm.a libnosys.a)
Так и не нашел, что это за либа, для чего нужна и почему ее нет...
Ошибка пропала.
Потом линкер ругался на отсутствие "_start". Странно, откуда эта метка в стартапе и почему так называется. Поставил вместо нее "main" - все собралось. Ошибок нет.
Но осадок сомнения остался - уже две ошибки в этих двух файлах... кто знает, что там еще? Надеялся, что все заработает "из коробки".
Пока не зашивал, не уверен в работоспособности.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.