IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Компилятор PICC V9.83, От HI-TECH
_pasha
сообщение 7.12.2011, 8:20
Сообщение #21


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Еще ресурс полезный
Я тут покопался, за 2,5 года много воды утекло. Сразу н найдешь. Сейчас убегаю, но к данному вопросу вернусь обязательно. Тем более, что sdcc 3.1 хотелось потестить.
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 7.12.2011, 8:43
Сообщение #22





Гости






Цитата(Прохожий @ 6.12.2011, 22:24) *
Только через makefile?

Это как первый секс smile.gif
Сначала необычно, потом привыкаешь.

Кроме makefile есть ещё другой подход- scons (Software CONStructor).
Питоноскрипт. (Паша не одобрит)

А я вот уже ни за какие коврижки не доверю такой интимный процесс, как сборку прошивки, какому-то автоматическому буилдеру, т.к. секс все равно возможен, но уже нетрадиционный...
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 7.12.2011, 9:46
Сообщение #23


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(MrYuran @ 7.12.2011, 10:43) *
Это как первый секс smile.gif
Сначала необычно, потом привыкаешь.

Кроме makefile есть ещё другой подход- scons (Software CONStructor).
Питоноскрипт. (Паша не одобрит)

А я вот уже ни за какие коврижки не доверю такой интимный процесс, как сборку прошивки, какому-то автоматическому буилдеру, т.к. секс все равно возможен, но уже нетрадиционный...

Я начинал с Электроники60 и ОС RT11, если кто помнит.
Там все было через файлы с ключами, только называлось это по-другому.
А окончательную сборку я гоняю в симуляторе в виде дизассемблированного дампа.
Там все косяки видно сразу.
И если, что-то не нравится, я комфортно переключаю нужные рюшечки.
А не судорожно копошусь в тексте, ища один-единственный символ...
Поэтому makefile у меня может иметь место, если компилятор будет хорош и бесплатен.
MPLAB позволяет работать и в таком режиме.
Перейти в начало страницы
 
+Цитировать сообщение
dxp
сообщение 7.12.2011, 10:05
Сообщение #24


Adept
***

Группа: Пользователи
Сообщений: 522
Регистрация: 20.4.2011
Из: Novosibirsk
Пользователь №: 346



QUOTE (MrYuran @ 7.12.2011, 12:43) *
Это как первый секс smile.gif
Сначала необычно, потом привыкаешь.

Я так и не привык. :(

QUOTE (MrYuran @ 7.12.2011, 12:43) *
Кроме makefile есть ещё другой подход- scons (Software CONStructor).
Питоноскрипт. (Паша не одобрит)

+100500! Уже лет пять-шесть как не нарадуюсь. Про make вспоминаю как про страшный сон. Или когда жизнь заставляет.

QUOTE (MrYuran @ 7.12.2011, 12:43) *
А я вот уже ни за какие коврижки не доверю такой интимный процесс, как сборку прошивки, какому-то автоматическому буилдеру, т.к. секс все равно возможен, но уже нетрадиционный...

Сборка из оболочки хороша для попробовать или для быстрого поднятия проекта на незнакомой платформе. Потом, конечно, надо переходить на привычные рельсы (хороший редактор + хорошая система сборки).
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 7.12.2011, 13:41
Сообщение #25


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Подтвердите, господа, мои опасения.
Сборка, вот эта вот о которой все говорят — это обязательно?
То есть, если есть всего один файл - все равно надо?
Понятно, что хедеры как бы все равно участвуют.
Но самому непременно надо разбивать проект на много много маленьких
кусочков, для получения удовольствия от склеивания?
Или, если проект небольшой, можно этого не делать?

Потому что все эти ключи к компилятору... Там и так не могу разобраться,
получается что написать инструкцию для сборки, по сути, как еще одну программу что ли...
Завидую тем, кто такой умный.
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 7.12.2011, 15:07
Сообщение #26





Гости






Цитата(orthodox @ 7.12.2011, 15:41) *
получается что написать инструкцию для сборки, по сути, как еще одну программу что ли...
Завидую тем, кто такой умный.

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

Автоматический сборщик делает тоже так, но в его работу вмешаться невозможно.
В то время как ручной вариант полностью под контролем разработчика.
А самое главное - абсолютная независимость от среды разработки. Хоть в блокноте рисуй.
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 7.12.2011, 17:00
Сообщение #27


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(orthodox @ 7.12.2011, 14:41) *
...
Завидую тем, кто такой умный.

Это Вас пугают.
На самом деле - ничего этого не надо.
В большинстве наших с Вами случаев.
Особенно в том, о котором мы говорили.
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 8.12.2011, 7:26
Сообщение #28





Гости






Цитата(Прохожий @ 7.12.2011, 19:00) *
На самом деле - ничего этого не надо.
В большинстве наших с Вами случаев.

Ещё один плюс - волей-неволей приходится в конце концов открыть документацию на компилятор.
И внезапно узнать много нового и интересного.

Ну да ладно, не буду уже утомлять...
Я для себя уже давно выбрал GCC.
Как ИАРовцы не скажут, "one tool, more platforms"
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 8.12.2011, 12:52
Сообщение #29


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(MrYuran @ 8.12.2011, 8:26) *
Ещё один плюс - волей-неволей приходится в конце концов открыть документацию на компилятор.
И внезапно узнать много нового и интересного.

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

Все это ради того, чтобы иметь возможность хранить наработки, рассчитанные под разные варианты применения и складывать их как кубики?
Это точно надо на среднее семейство ПИК, когда вся программа в 2 к укладывается максимум, а то и пару сот бит?
И обязательно надо вслепую складывать кубики? мне кажется? просмотреть их на предмет соответствия условиям (камню, и что там еще) —
перед компиляцией вручную — полезнее. Ну, в общем, примера хочу.
Производительность — как-то могу понять.
Желание иметь независимость от камня - понять могу. Но исполнение этого желания надо думать, не от нас зависит.
лучше бы подстраховаться, нет?
Перейти в начало страницы
 
+Цитировать сообщение
dxp
сообщение 8.12.2011, 17:23
Сообщение #30


Adept
***

Группа: Пользователи
Сообщений: 522
Регистрация: 20.4.2011
Из: Novosibirsk
Пользователь №: 346



QUOTE (orthodox @ 8.12.2011, 16:52) *
Например? Читал неоднократно.
Пришел в ужас - от количества опций рябит в глазах, и каждый раз одна из них может вообще иначе все скомпилировать.
Сделать программу нерабочей или неправильно рабочей.

Вы преувеличиваете. Реально там всего несколько ключей основных вроде задающих уровень оптимизации и подобного. А остальные вспомогательные - пути, форматы промежуточных файлов и т.д. Совсем не сложно на самом деле. Надо просто попробовать. С простого. Или с примера, благо их есть полно подо всё, что угодно.
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 8.12.2011, 19:15
Сообщение #31


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(orthodox @ 8.12.2011, 13:52) *
Например? Читал неоднократно.
Пришел в ужас - от количества опций рябит в глазах, и каждый раз одна из них может вообще иначе все скомпилировать.
Сделать программу нерабочей или неправильно рабочей.

В принципе, если все написано правильно, то такого быть не должно.
Программа должна работать при всех уровнях оптимизации.
Еще один аспект, на который обычно обращают внимание - это, так называемый startup, т. е. некий код, предшествующий Вашей программе.
Цитата(orthodox @ 8.12.2011, 13:52) *
Все это ради того, чтобы иметь возможность хранить наработки, рассчитанные под разные варианты применения и складывать их как кубики?
Это точно надо на среднее семейство ПИК, когда вся программа в 2 к укладывается максимум, а то и пару сот бит?

Полезно, но необходимостью не является. Можно старым дедовским копипастом.
Цитата(orthodox @ 8.12.2011, 13:52) *
Желание иметь независимость от камня - понять могу. Но исполнение этого желания надо думать, не от нас зависит.
лучше бы подстраховаться, нет?

Полная независимость от камня невозможна.
А зачастую она требует значительного оверхеда.


Цитата(MrYuran @ 8.12.2011, 8:26) *
Ещё один плюс - волей-неволей приходится в конце концов открыть документацию на компилятор.
И внезапно узнать много нового и интересного.

Я всегда вдумчиво просматриваю документацию на компиляторы АСМ, С и Линкер.
Особенно в разделе ключей.
И что мешает в IDE быстро нащелкать рюшечками желаемую комбинацию ключей и убедиться в том, что все правильно, посмотрев на получившийся результат в виде командной строки?
Если говорить об MPLAB-е, то он выводит все командные строки для всех включенных в дело программ.
Для MCC18 их 3 штуки - C компилятор, Ассемблер и Компоновщик.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 10.12.2011, 0:56
Сообщение #32


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



тссс....тише не спугните... замигал первый в жизни светодиодик.
теперь тихонечно тихонечно модифицируем эту маленькую тест-программку...
И сразу писать проект, ну тот самый... Бо времени нету катастрофически.
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 10.12.2011, 16:31
Сообщение #33


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Всё, песец!
Обещал сдцц мэйкфайл, оно сырое мама не горюй. Психанул, пишу свой удобный вариант, только их 4, по числу платформ. А мне 51-е понадобились..
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 11.12.2011, 14:55
Сообщение #34


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(_pasha @ 10.12.2011, 18:31) *
Всё, песец!
Обещал сдцц мэйкфайл, оно сырое мама не горюй. Психанул, пишу свой удобный вариант, только их 4, по числу платформ. А мне 51-е понадобились..

Есть результаты по реальному применению сабжа темы.
Результаты оптимизации - 5-.
Качество ассемблерного кода - 5 (в режиме PRO).
Изделие гонялось 8 часов с порчей сети инвертором в 6 кВт.
Замечаний к работе МК и программы нет.
Если кому нужны инструкции по установке и применению - их есть у меня.
Перейти в начало страницы
 
+Цитировать сообщение
A.T.Tappman
сообщение 19.12.2011, 9:31
Сообщение #35


ЕРЖ-антисемит
***

Группа: Пользователи
Сообщений: 1900
Регистрация: 24.11.2009
Из: Великий Новгород
Пользователь №: 23



Не знаю, врёт товарищ или нет, но забавно получается. http://ithappens.ru/story/8049
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 19.12.2011, 10:03
Сообщение #36





Гости






Цитата(A.T.Tappman @ 19.12.2011, 11:31) *
Не знаю, врёт товарищ или нет, но забавно получается. http://ithappens.ru/story/8049

У Криса Касперски в книжке по оптимизации подобный пример был, только на "взрослом" процессоре, с выходом за границы выравнивания кэша.
Помню тему на элхе, где программу для DSP-процессора оптимизировали по скорости в десятки (!) раз.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 19.12.2011, 19:46
Сообщение #37


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(MrYuran @ 19.12.2011, 11:03) *
У Криса Касперски в книжке по оптимизации подобный пример был, только на "взрослом" процессоре, с выходом за границы выравнивания кэша.
Помню тему на элхе, где программу для DSP-процессора оптимизировали по скорости в десятки (!) раз.

А где это в «невзрослых процессорах» сиречь МК , 32 бита читаются за одно обращение?
Хотя да, вроде есть такие уже...
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 20.12.2011, 8:40
Сообщение #38


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Цитата(A.T.Tappman @ 19.12.2011, 9:31) *
Не знаю, врёт товарищ или нет, но забавно получается. http://ithappens.ru/story/8049

А нехрен generic types напрямую использовать! Хотя бы, через stdint.h
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 20.12.2011, 8:55
Сообщение #39





Гости






Цитата(orthodox @ 19.12.2011, 21:46) *
А где это в «невзрослых процессорах» сиречь МК , 32 бита читаются за одно обращение?
Хотя да, вроде есть такие уже...

Даже в копеечных Cortex M0, которые в розницу дешевле младших пиков и авр
Перейти в начало страницы
 
+Цитировать сообщение

2 страниц V  < 1 2
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.3.2024, 0:06