WinAvr в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Re: WinAvr в вопросах и ответах

Сообщение BerZerK-ku »

:))) Вы уверены что код и озвученные результаты совпадают? Проверьте.
Тот пример что я привел, при компиляции дает разницу в 2 байта, вроде, и чем больше обращений к структуре в функции используется, тем больше разница. Куда конкретнее то?
:))) один предложил, другой поддержал, а дело-то с место не сдвинулось. Или я крайний и должен придумывать ради вас ТЗ?
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

BerZerK-ku писал(а)::))) Вы уверены что код и озвученные результаты совпадают? Проверьте. Тот пример что я привел, при компиляции дает разницу в 2 байта
вот ведь некоторые умеют достать! ну что ж, извольте. вы сомневались в результатах? они-таки на самом деле подозрительные!!! цитирую ваш код, чтобы не было сомнений:
BerZerK-ku писал(а): НУ раз так, вот пример попроще:

Код: Выделить всё

char b, c ,d;

struct var
{
   char b;
   char c;
   char d;
} str;

void fs(char v)
{
   var *st = &str;
   
   //st->b = 3;
   st->c += v;
   st->d -= v;
}

void f(char v)
{
   //b = 4;
   c += v;
   d -= v;
}

__C_task void  main(void)
{
   while(1)
   {
      //fs(3);
      f(3);
   }
}

беру AVR Studio 4.18, WinAVR 20100110, создаю проект для atmega88 Simulator 2. ввожу этот код в окно редактора, компилирую:
Изображение
это свидетельствует о том, что сам автор гневных постов в мой адрес НЕ КОМПИЛИРОВАЛ СВОЙ ПРИМЕР! он абсоютно нерабочий, в отличие от моего, который работает, но не так, как кому-то хотелось бы.

ладно, раз я сам не без греха, делаю скидку на опечатки, исправляю явное:

Код: Выделить всё

typedef struct {
   char b;
   char c;
   char d;
} var;

var str;
и естественно убираю бредовое

Код: Выделить всё

__C_task 

компилирую после исправления ошибок. что имеем? вот что:
Изображение
причем это и для варианта

Код: Выделить всё

int main(void)
{
   while(1)
   {
      fs(3);
      //f(3);
   }
}
и то же самое для варианта

Код: Выделить всё

int main(void)
{
   while(1)
   {
      //fs(3);
      f(3);
   }
}
о чем это говорит? о том, что компилятор после анализа этого бредового кода пришел к выводу, что программа НЕ ДЕЛАЕТ ВООБЩЕ НИЧЕГО, и не стал вставлять в код ничего полезного, кроме традиционного для Си кода инициализации ОЗУ, установки стека, ну и таблицы векторов прерываний - В ОБОИХ СЛУЧАЯХ. т.е. пример бредовый - что было понятно сразу (но, конечно, понятно лишь тому, кто на самом деле имеет опыт ралоты с WinAVR, а не просто начитался каких-то бумаг, которыми подтирались еще мамонты). кстати, чтобы не быть голословным, вот листинг того, что наделал компилятор для main:
Изображение

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

да, вот еще решил добавить :) вот листинг компиляции обоих функций из мощного примера болтуна:
Изображение
как говорится, найдите отличия :)))
Вложения
Snippy0006.jpg
(53.1 КБ) 472 скачивания
Snippy0005.jpg
(19.67 КБ) 616 скачиваний
Snippy0004.jpg
(21.37 КБ) 642 скачивания
Snippy0003.jpg
(60.24 КБ) 679 скачиваний
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Avarges »

Я же говорил, что структуры это только ради понтов и что видим в итоге: как раз 2 страницы одних понтов :)

Новички, избегайте структур однозначно, а то зациклит :write: лучше разминайте шею: :music:
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

Avarges писал(а):Я же говорил, что структуры это только ради понтов и что видим в итоге: как раз 2 страницы одних понтов :)

Новички, избегайте структур однозначно, а то зациклит :write: лучше разминайте шею: :music:
вам лучше не вмешиваться, а то можно ненароком под раздачу попасть :)))

понты в теме есть, чего там скрывать... но не в структурах.
структуры - очень полезная вещь, и избегать их не стоит, а наоборот: нужно четко понимать, для чего они нужны и когда дают преимущество (и в чем именно преимущество). тогда все будет в шоколаде.
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Re: WinAvr в вопросах и ответах

Сообщение BerZerK-ku »

:)) странно, а у меня все работает. Может я что-то не так делаю?
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

BerZerK-ku писал(а)::)) странно, а у меня все работает. Может я что-то не так делаю?

разумеется - вы болтаете языком :))) вам было лень показать СВОИ достижения - любуйтесь на чужие.
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Re: WinAvr в вопросах и ответах

Сообщение BerZerK-ku »

опыт то его не пропьешь, при не имении оного :))
Вложения
example.rar
(4.75 КБ) 177 скачиваний
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

BerZerK-ku писал(а):опыт то его не пропьешь, при не имении оного :))

это вы верно подметили, вам пропивать нечего... вы снова дали ту же хрень, что и раньше, да еще и файлы у вас c расширением cpp - если вы вдруг решили, что WinAVR все равно - ошибаетесь, он по-разному реагирует на разные расширения файлов. ваш пример в Сишном режиме не компилируется - я уже писал. потрудитесь соответствовать тому, что говорите: компилируйте в Си-режиме. и ваш архив не содержит makefile. короче, очередное подтверждение квалификации...
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Re: WinAvr в вопросах и ответах

Сообщение BerZerK-ku »

Т.е. вы хотите сказать, что этот пример не запускается? Вроде всего хватает :dont_know:
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

BerZerK-ku писал(а)::shock: т.е. вы хотите сказать, что этот пример не запускается?

я хочу сказать, что это ВООБЩЕ НЕ ПРИМЕР, который можно "запустить". и по поводу того, что находится ВНУТРИ АРХИВА читайте этот пост viewtopic.php?p=1085118#p1085118

запускается либо проект AVR Studio, либо makefile - что еще можно запускать, я не в курсе.
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Re: WinAvr в вопросах и ответах

Сообщение BerZerK-ku »

Дак и откройте проект в AVR Studio, чего вас остановило то? Не доверяете его отладчику?
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

вместо того, чтобы пытаться впарить ваш исходник, потрудились бы прокомментировать УЖЕ ПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ ЕГО КОМПИЛЯЦИИ - вроде бы я достаточно красочно все расписал, даже листинг привел... для повторения МОЕГО эксперимента остается только добавить, что я компилировал при оптимизации -Os, хотя и без оной -O0 результат НЕ ДОКАЗЫВАЕТ разницу в размере кода при использовании структур.
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Re: WinAvr в вопросах и ответах

Сообщение BerZerK-ku »

:)) а полученный код (см. предыдущие примеры) подтверждает написанное в AVR035.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

BerZerK-ku писал(а)::)) а полученный код (см. предыдущие примеры) подтверждает написанное в AVR035.

вы не просто болтун, вы чемпион по этому виду спорта...

ответьте конкретно, четко на следующие вопросы:
1. какая версия вашего компилятора?
2. почему ваши файлы имеют расширение не .c , а .cpp?
3. при помощи какого makefile получены ваши результаты?
4. почему нет листинга и скриншота (или хотя бы текстовой копии) результатов компиляции каждого варианта?
5. почему нет комментариев результатов, которые я привел в своем посте, в том числе листинг обоих функций, код которых совпадает байт в байт?
6. что скажете про то, что в main ни одна из функций не вызывается вообще?
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Re: WinAvr в вопросах и ответах

Сообщение BerZerK-ku »

:)) т.е. ваш эксперимент и картинки, выглядят более убедительно, чем выложенные мной проекты симуляции? В котором можно самому все пощупать и потрогать.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

BerZerK-ku писал(а)::)) т.е. ваш эксперимент и картинки, выглядят более убедительно, чем выложенные мной проекты симуляции? В котором можно самому все пощупать и потрогать.

все понятно. вместо ответов на конкретные вопросы снова треп. болтун в квадратекубе. я бы даже сказал в сфере, как конь в вакууме. зря я повелся :(
битва с дураками проиграна, победители торжествуют. слава победителям!
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Re: WinAvr в вопросах и ответах

Сообщение BerZerK-ku »

:)) ну вы же тоже игнорируете мои вопросы, и не приводите ни каких конструктивных комментариев по моим примерам.
Во, придумал, во вложении проект. Все настроено, попробуйте использовать в проекте последовательно каждую из функций и привести размер прошивки. Меняется?
AVR Studio 4.13 + WinAVR-20100110
Вложения
example.rar
(8.13 КБ) 178 скачиваний
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение BCluster »

Порция лулзов. Случайно на работе нашел на компе авр студию. Ну запустил...
BerZerK-ku писал(а):Меняется?

Неа :) Совсем :) По крайней мере с вашими настройками - 166 байт (O1). Во всех трех случаях.

Вы же утверждаете, что структуры экономят память программ.

Включаем Os

Второй вариант, со указателем на структурку как раз, занимает 196 байт. Остальные - 166 байт.

У вас другие результаты? Дайте скринов
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

BCluster писал(а):
BerZerK-ku писал(а):Меняется?

Неа :) Совсем :) По крайней мере с вашими настройками - 166 байт (O1). Во всех трех случаях.
Вы же утверждаете, что структуры экономят память программ.
Включаем Os
Второй вариант, со указателем на структурку как раз, занимает 196 байт. Остальные - 166 байт.
У вас другие результаты? Дайте скринов

абсолютно аналогичные результаты! :)))
просто любопытно, что будет сказано болтуном теперь? независимый тестер появился :beer:
битва с дураками проиграна, победители торжествуют. слава победителям!
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: WinAvr в вопросах и ответах

Сообщение Мастер Ломастер »

BerZerK-ku писал(а)::)) ну вы же тоже игнорируете мои вопросы, и не приводите ни каких конструктивных комментариев по моим примерам.
по вашим "примерам" я уже дал не один раз комментарии, правда, слово БРЕД не очень конструктивное, но ведь правильное же...
битва с дураками проиграна, победители торжествуют. слава победителям!
Ответить

Вернуться в «AVR»