реклама на сайте
подробности

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> avr-gcc и IAR, сравнение, но не холивар
zhevak
сообщение Mar 2 2011, 10:57
Сообщение #46


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(demiurg_spb @ Mar 2 2011, 15:31) *
Наверное можно подвести кое какие итоги.
Я бы хотел заострить внимание на том, что прежде чем пинять на тот или иной продукт стоит его изучить и поработать в нём какое-то время. И второе но не менее важное - без хорошего знания языка программирования грешить на объём прошивки как минимум неразумно (камень в огород ТС). Компиляторы нынче весьма умные (что IAR что gcc оба достойные конкуренты друг-другу), но программист - это всё же определяющий фактор. Пусть звучит банально, но зато отражает моё личное отношение к теме.

Спасибо за критику.

Пинать продукты? Да, собственно, никто и не думал пинать. Есть исходный текст проекта, который реальный, а не гипотетический. Не идеальный (а что, разве в жизни все проекты идеальные?) На этом проекте мы поигрались. Получили какой-то результат. Я вообще не вижу никаких проблем.

Единственная проблема состоит в том, что я захотел самостоятельно на своем проекте убедиться для себя лично кое-в-каких цифрах. Да, я и не говорю, что я очень хорошо знаю язык, среду разработки и прочее, что влияет на объем и качество кода. Знаю их на каком-то своем уровне. Этот уровень меня минимально устраивает. Я делаю свою работу и как могу повышаю свою квалификацию. Это плохо?
Ну, ладно, я не подходящая кандидатура. Давайте тогда что-ли найдем идеального товарища, который согласится оставить свою работу, провести всестороннее исследование и ответить на множество вопросов. Но ведь таких людей нет! Они заняты решением своих проблем.

Вот, например, товарищ A (не буду называть его имя) -- грамотный специалист. Давайте его поспрашиваем. Что мы получим? Вместо ответов мы нарвемся на наезды, что мы делаем не то и не так, и вообще не тем занимаемся. Мы о себе много чего узнаем интересного. Но ответ на вопрос -- это уж как товарищ решит, можем и не получить.

Я попытался "испечь торт" из того, что у меня было. Вам не понравилось? Ну что ж... Хорошо. Вы можете чем-то помочь?


Блин, все-таки холливар! Словоблудие.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Mar 2 2011, 11:56
Сообщение #47


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Пинят и пинать - два разных слова:-)
Поэтому я и предлагал использовать приличный во всех смыслах open-sourсe проект для таких вот изысканий.
Или даже больше какой-либо синтетический тест из уже существующих.
Изобретение колеса заново - не метод инженера.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 2 2011, 11:57
Сообщение #48


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(zhevak @ Mar 2 2011, 13:57) *
Я попытался "испечь торт" из того, что у меня было. Вам не понравилось? Ну что ж... Хорошо. Вы можете чем-то помочь?

Да всё нормально.
Я год назад сделал примерно такой же вывод - что IAR обеспечивает как минимум не худший вариант при значительно меньших усилиях и знаниях.
Ну, на то и коммерческий продукт, должен же он хоть чем-то отличаться от свободного sm.gif .

Осознав данный факт, я решил больше не дёргаться по этому поводу и оптимизировать проект только в случае действительной необходимости
(не лезет или не успевает)

Ещё, в MSPGCC остановились в своё время на версии GCC 3.2.3, потом родился параллельный проект с GCC 4xx.
Так вот, сравнение по объёму далеко не в пользу последнего, даже со всеми дополнительными ухищрениями.
А WinAVR собирается как раз на основе свежих версий GCC.



--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
zhevak
сообщение Mar 2 2011, 14:17
Сообщение #49


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(demiurg_spb @ Mar 2 2011, 16:56) *
Пинят и пинать - два разных слова:-)
Поэтому я и предлагал использовать приличный во всех смыслах open-sourсe проект для таких вот изысканий.
Или даже больше какой-либо синтетический тест из уже существующих.
Изобретение колеса заново - не метод инженера.

Ну, тогда уж не "пинять" а, "пенять". Извините, я действительно не знал, как понимать Ваши слова.

Ну, давайте, давайте возьмем готовый opensource-проект. Лично я не против. Другие участники, думаю, тоже не будут возражать. Вопрос только в том, кто все это будет делать? Кто все это дело будет двигать? Я не смогу. Вы предложили -- Вы и раскручивайте кампанию, а мы по мере сил Вам поможем и, уж простите, так повелось, -- покритикуем. Ну что, беретесь? Только я буду на вторых ролях, не хочу быть лидером.

MrYuran, да я такого же мнения. Жить с gcc можно. Хотя, признаться, я несколько разочарован, но ведь не смертельно ж! Тем более, что Заказчику как правило, вообще пофиг на чем написано -- хоть на Васике! Лишь бы работало согласно ТЗ, и стоимость разработки не вылезала за бюджет.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Mar 2 2011, 14:50
Сообщение #50


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Я готов потестить под различными версиями gcc.
Вопрос в выборе теста остаётся открытым.

Народ, высказывайте Ваши предложения!


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 2 2011, 22:03
Сообщение #51


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(demiurg_spb @ Mar 2 2011, 17:50) *
Я готов потестить под различными версиями gcc.

.... а как я готов!!! готовее меня есть кто ?? sm.gif

предлагаю архитектуру проекта.
0. используем компонентный подход
1. проект представляет собой основной модуль - FreeRTOS
2. далее модули, реализующие часто встречающиеся или не часто задачи из предметной области оформленные в виде библиотек, юзабельные в тестовых задачах FreeRTOS,
3, две версии - одна чистый С, вторая версия смесь С/С++/Fortran пережовывемые компиллеров в едином сборочном проъекте.

что нам это даст.
0.модульность и взаимозаменяймость.
1, при желании практически полную независимость модулй
2, возможность набирать тестовый набор модулей наиболее соответствующему требуемому испытанию.
3, простата измерения размера модулей(возможно напишу утилсу которая лазит по elf и считает то что нужно по отдельности) и их скорости на контрольной трассе (средствами FreeRTOS).
4. комплексная оценка совместной работы с другими модулями и FreeRTOS.

что имею.
0, Шаблон проекта посторенного по вышеописанному
1, готове модули
а) решение системы нелинейных уравнений на С
б) модуль на Фортране реализующий ЧМ демодулятор комплексного сигнала на нулевой промежутке.
в) хороший такой тест шаблонов STL на С++. кстате сам удивился когда оказалось что можно эффективно использовать на микроконтроллерах.
г) могу сделать страницу на своем портале посвещенную всему этому театральному действу, сделать SVN репозиторий для проекта, раздать права на запись наиболее горячмим джигитам, права на чтения "бесплатно"

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

хотелось бы чтоб тема не заглохла а превратилась в феерическое представлнеие траха мозка и отжига - нада ж както отдыхать ....
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Mar 3 2011, 09:41
Сообщение #52


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



FreeRTOS и чистый СИ - не понял как мы это сможем сбилдить с ключиками
--combine -fwhole-program, раз уж мы хотим выжать из gcc по максимуму...

Какие-либо "относительно стандартные" тесты существуют?

Предлагаю из модулей подцепить:
free-modbus
fatfs
и какую-нибудь GUI-библиотечку.

насчёт SVN - одобрямsm.gif



--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 4 2011, 06:42
Сообщение #53


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(demiurg_spb @ Mar 3 2011, 12:41) *
FreeRTOS и чистый СИ - не понял как мы это сможем сбилдить с ключиками
--combine -fwhole-program, раз уж мы хотим выжать из gcc по максимуму...

Скорее наоборот, с плюсами проблемы будут, FreeRTOS на чистом си написан
Хотя опять же не вижу проблемы. Сишные исходники скомпилить оптом с этими ключами, а с++ модуль прилинковать отдельно


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Mar 4 2011, 10:50
Сообщение #54


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(MrYuran @ Mar 4 2011, 09:42) *
Скорее наоборот, с плюсами проблемы будут, FreeRTOS на чистом си написан
от ScmRtos навелось...

Цитата
Сишные исходники скомпилить оптом с этими ключами, а с++ модуль прилинковать отдельно

Вы так пробовали? Я что-то сильно сомневаюсь что так можно. Ключик-то называется ВСЯ программа -fwhole-program.
При таком способе компиляции вроде как даже и объектные файлы-то не создаются.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 4 2011, 10:56
Сообщение #55


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(demiurg_spb @ Mar 4 2011, 13:50) *
Вы так пробовали? Я что-то сильно сомневаюсь что так можно. Ключик-то называется ВСЯ программа -fwhole-program.
При таком способе компиляции вроде как даже и объектные файлы-то не создаются.

Вот, баловался летом...
Код
#
#$(NAME).elf : $(CSRC)
#    @echo $^
#    @$(CC) -c $(CFLAGS) -combine -fwhole-program $^ $(LDFLAGS) -o $(NAME).o
#    $(CC) $(NAME).o $(LDFLAGS) -o $@

Создаётся один обобщённый объектник из пачки исходников, который потом линкуется на общих основаниях


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 4 2011, 11:18
Сообщение #56


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Блин, забыли про такую сущность, как Pascal Stang
Go to the top of the page
 
+Quote Post

4 страниц V  « < 2 3 4
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 11:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01459 секунд с 7
ELECTRONIX ©2004-2016