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

 
 
7 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> WinAVR-20080610, делимся впечатлениями
viakon
сообщение Jun 25 2008, 05:48
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



попробую выгрызть, но не на этой неделе точно.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 25 2008, 05:50
Сообщение #17


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(viakon @ Jun 25 2008, 14:43) *
интересно, и уменя проблемы c UART были. Работал c GPRS модемом и все команды ответы выводились на консоль. С новой версией при инициализации с какойто команды начинал валиться мусор. А часть проходила нормально.
Читал про это. Пробовал я и майскую, тоже самое sad.gif
Недогадался попробовать оптимизацию выключить.

C UART просто более наглядно наверное + прерывания используются. Если без них, то может проблем и не будет. Хотя кроме юартовских есть несколько других прерываний.
Вот еще что интересно, разительно отличаются секции data по размеру.
Код
20071221
   text       data        bss        dec        hex    filename
   6312          0        152       6464       1940    mcontrol.out

20080610
   text       data        bss        dec        hex    filename
   5918        452        152       6522       197a    mcontrol.out


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
733259
сообщение Jun 25 2008, 06:00
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата
Прошу пролщения, а о какой четверке идет речь? Эти три версии все 4.x.x
Четверки во второй цифре версии вообще нет.
Виноват, не слежу за 200xxxxx.
Обычно сравниваю с 3.4.6 и вижу только недостатки и сырость.
Речь конечно шла о первой цифре.
Go to the top of the page
 
+Quote Post
kurtis
сообщение Jun 25 2008, 11:05
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Попробовал скомпилировать проект в сабжевой версии WinAVR, но использовал утилиты(rm, cp, mkdir и тд...) из версии 20070525. На железе проект запустился, размер кода возрос, а на ЖКИ вместо обычных букв - абракадабра и размер используемого ОЗУ возрос где-то на 1к При изменении уровня оптимизации абракадабра на ЖКИ меняется. Известно что железо полностью исправно и программа на 99% рабочая!!!В чем проблема незнаю, нету желания разбираться....
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 26 2008, 09:01
Сообщение #20


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Видимо все-таки сыроват этот новый WinAVR...
У меня тоже пока нет желания разбираться, да и опыта анализа ассемблерных листингов нет(


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
viakon
сообщение Jun 27 2008, 08:29
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Новый проект откомпилил на SUBJ работает. Только он на 100 байт больше оказался чем 20070525
Go to the top of the page
 
+Quote Post
solosh
сообщение Jun 27 2008, 08:43
Сообщение #22





Группа: Участник
Сообщений: 13
Регистрация: 23-10-04
Пользователь №: 968



Цитата(viakon @ Jun 27 2008, 11:29) *
Новый проект откомпилил на SUBJ работает. Только он на 100 байт больше оказался чем 20070525


Попробуйте ключик --param inline-call-cost, если вам важен размер. Например, "--param inline-call-cost=0"

см. http://electronix.ru/forum/index.php?s=&am...st&p=393595
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 28 2008, 00:13
Сообщение #23


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(viakon @ Jun 27 2008, 17:29) *
Новый проект откомпилил на SUBJ работает. Только он на 100 байт больше оказался чем 20070525

А что изменилось по сравнению с Вашим старым проектом?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
kurtis
сообщение Jun 28 2008, 18:50
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Заметил что компилятор все символьные строки запихнул в ОЗУ, хотя они объявлены как prog_char, и из-за этого и фигня на ЖКИ влезла...в более ранних версиях GCC (4.2.2) такого небыло.
Go to the top of the page
 
+Quote Post
aesok
сообщение Jun 28 2008, 18:55
Сообщение #25


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(kurtis @ Jun 28 2008, 22:50) *
Заметил что компилятор все символьные строки запихнул в ОЗУ, хотя они объявлены как prog_char, и из-за этого и фигня на ЖКИ влезла...в более ранних версиях GCC (4.2.2) такого небыло.


Тестовый пример пожалуйста приведите.

Анатолий.
Go to the top of the page
 
+Quote Post
Hmm
сообщение Jun 29 2008, 19:29
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 329
Регистрация: 22-06-04
Пользователь №: 124



Когда-то, некоторое время, вел проекты параллельно в iar и winavr. Когда доверие к winavr утвердилось - остановился. После 20070527 обновляться перестал (некогда, работа однако). Выбрав свободный часок опробовал версию 2008 года (~май). Проект собрался без ошибок и предупреждений, но в изделии не заработал. Причем по железу все боле менее, а с матем. расчетами проблемы. Разбираться не стал (работа однако).


--------------------
Талант не пропить ...
Go to the top of the page
 
+Quote Post
viakon
сообщение Jun 30 2008, 03:59
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(kurtis @ Jun 28 2008, 23:50) *
Заметил что компилятор все символьные строки запихнул в ОЗУ

У меня все нормально, лежат во флеш.

Подпрограмма вызываемая 1 раз подставлена инлайн соответственно получилось 2 копии. Из-за этого и длина больше. попробую ключик
--param inline-call-cost
Go to the top of the page
 
+Quote Post
aesok
сообщение Jun 30 2008, 09:21
Сообщение #28


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(viakon @ Jun 30 2008, 07:59) *
Подпрограмма вызываемая 1 раз подставлена инлайн соответственно получилось 2 копии. Из-за этого и длина больше. попробую ключик
--param inline-call-cost

Лучше объявите эту функцию как static.

Анатолий.

Сообщение отредактировал aesok - Jun 30 2008, 09:21
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 30 2008, 09:32
Сообщение #29


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(aesok @ Jun 30 2008, 12:21) *
Лучше объявите эту функцию как static.
или --ffunction-sections, -Wl,--gc-sections. Ведь часто исходник кочует из проекта в проект, в каком-то используются одни функции, в каком-то другие, или написали функцию, попользовали ее в другом файле, потом в процессе эволюции необходимость в функции пропала. Если линкер может выкинуть неиспользуемый код - пусть он это делает.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
aesok
сообщение Jun 30 2008, 09:35
Сообщение #30


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



про --gc-sections где-то читал что могут быть проблеммы с отладкой. вечером поищю где про это написано.

Анатолий.
Go to the top of the page
 
+Quote Post

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

 


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


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