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

 
 
> WinAVR-20080610, делимся впечатлениями
haker_fox
сообщение Jun 24 2008, 03:57
Сообщение #1


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

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



Скачал. Установил.
Приятно удивил результат.
Проект скомпилированный на WinAVR-20070525 занимает 6452 байт. Работает. Проект скомпилированный новым компиляторм занимает 5396 байт. Полностью не работает. Детальный анализ пока не проводил. Серьезных багов не видел.
makefile используется один и тот же, только пути разные подставляются для вызова разных версий утилит.
Самое интересное, что при очистке проекта
Код
make clean
вылетает такая ошибка
Код
0 [main] rm 3292 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
111988 [main] rm 3292 open_stackdumpfile: Dumping stack trace to rm.exe.stackdump
make.exe: *** [clean] Error -1073741819

Компилирует на первый взгляд нормально, но при заливке кода в МК ничего не работает.
Вот...

P.S.
Версия WinAVR-20071221 полет нормальный. Только очистка вылетает с такой же ошибкой.

Свои makefile прикрепляю на всякий случай. Они абсолютно одинаковы, за исключением путей к утилитам пакетов WinAVR.
Прикрепленные файлы
Прикрепленный файл  makefiles.zip ( 5.81 килобайт ) Кол-во скачиваний: 115
 


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kurtis
сообщение Jun 28 2008, 18:50
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 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
kurtis
сообщение Jul 1 2008, 08:13
Сообщение #4


Местный
***

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



Цитата(aesok @ Jun 28 2008, 21:55) *
Тестовый пример пожалуйста приведите.

Анатолий.


Есть строка вида (к примеру)
Код
const prog_char glob_menu_str[3][14]=
{
    "Строка 1",
    "Строка 2",
    "Строка 3",
};

После компилирования получаю Project.elf
далее делаю avr.nm -n Project.elf > file.txt
и поиском ищу glob_menu_str....

в версии gcc 4.2.2 и более ранних получаю
Код
00000326 t glob_menu_str
т.е. если судить по символу t то оно легло в секцию с кодом

но когда я использую gcc 4.3.0 то получаю такую вот картину
Код
00800591 d _ZL13glob_menu_str
оно легло во внешнее озу

Далее в коде используется strlen_P, strncpy_P, pgm_read_byte и тд, т.е. думается что мы работаем с переменными расположенными в секции кода...
З.Ы. При использовании GCC 4.2.2 (и более ранних) проект полностью рабочий!!!
Go to the top of the page
 
+Quote Post
aesok
сообщение Jul 1 2008, 08:53
Сообщение #5


Знающий
****

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



Цитата(kurtis @ Jul 1 2008, 12:13) *
Есть строка вида (к примеру)
Код
const prog_char glob_menu_str[3][14]=
{
    "Строка 1",
    "Строка 2",
    "Строка 3",
};


Прочтите [TUT] [C] GCC and the PROGMEM Attribute , PART II - More advanced uses of PROGMEM.

Анатлий.
Go to the top of the page
 
+Quote Post
kurtis
сообщение Jul 1 2008, 09:42
Сообщение #6


Местный
***

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



Цитата(aesok @ Jul 1 2008, 11:53) *

Простите, но я там не нашел ответа на свой вопрос, на что именно вы хотели мне указать???

Может я неправильно задал вопрос....Есть кусок кода
Код
const char MenuItem1[] PROGMEM = "Menu Item 1";
int main()
{
    unsigned int a;
    a = pgm_read_word(&MenuItem1[4]);
    mTest1  = a;
.............
return 0;
}

строку MenuItem1 GCC 4.2.2 ложит во flash, а GCC 4.3.0 ложит в ram!!! Как сделать, чтоб GCC 4.3.0 входящий в состав WinAVR-20080610, клал строку во flash (как это делала более ранняя версия)???
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- haker_fox   WinAVR-20080610   Jun 24 2008, 03:57
- - 733259   По сравнению с 3.4.6 по прежнему проигрывает. ЗЫ ...   Jun 24 2008, 07:56
|- - haker_fox   Цитата(733259 @ Jun 24 2008, 16:56) По ср...   Jun 25 2008, 01:40
- - kurtis   Цитата(haker_fox @ Jun 24 2008, 06:57) .....   Jun 24 2008, 08:48
- - viakon   Цитата(haker_fox @ Jun 24 2008, 08:57) По...   Jun 25 2008, 03:53
|- - haker_fox   Цитата(viakon @ Jun 25 2008, 12:53) Разоб...   Jun 25 2008, 04:33
- - 733259   ИМХО это уже не раз обсуждалось, в четверке новые ...   Jun 25 2008, 04:33
|- - haker_fox   Цитата(733259 @ Jun 25 2008, 13:33) ИМХО ...   Jun 25 2008, 04:54
|- - haker_fox   Цитата(733259 @ Jun 25 2008, 13:33) ИМХО ...   Jun 25 2008, 05:30
- - 733259   Эти 20070525, 20071221 никакой инфы о компилере не...   Jun 25 2008, 05:10
|- - viakon   А пользую только С никаких С++, так что дело вряд ...   Jun 25 2008, 05:29
|- - aesok   Цитата(viakon @ Jun 25 2008, 09:29) А пол...   Jun 25 2008, 05:41
- - haker_fox   Код>c:\winAVR-20070525\bin...   Jun 25 2008, 05:28
- - viakon   интересно, и уменя проблемы c UART были. Работал c...   Jun 25 2008, 05:43
|- - aesok   Цитата(viakon @ Jun 25 2008, 09:43) Читал...   Jun 25 2008, 05:45
|- - haker_fox   Цитата(viakon @ Jun 25 2008, 14:43) интер...   Jun 25 2008, 05:50
- - viakon   попробую выгрызть, но не на этой неделе точно.   Jun 25 2008, 05:48
- - 733259   ЦитатаПрошу пролщения, а о какой четверке идет реч...   Jun 25 2008, 06:00
- - kurtis   Попробовал скомпилировать проект в сабжевой версии...   Jun 25 2008, 11:05
- - haker_fox   Видимо все-таки сыроват этот новый WinAVR... У мен...   Jun 26 2008, 09:01
- - viakon   Новый проект откомпилил на SUBJ работает. Только о...   Jun 27 2008, 08:29
|- - solosh   Цитата(viakon @ Jun 27 2008, 11:29) Новый...   Jun 27 2008, 08:43
|- - haker_fox   Цитата(viakon @ Jun 27 2008, 17:29) Новый...   Jun 28 2008, 00:13
|- - _Pasha   Цитата(kurtis @ Jul 1 2008, 12:42) строку...   Jul 1 2008, 12:23
- - Hmm   Когда-то, некоторое время, вел проекты параллельно...   Jun 29 2008, 19:29
- - viakon   Цитата(kurtis @ Jun 28 2008, 23:50) Замет...   Jun 30 2008, 03:59
|- - aesok   Цитата(viakon @ Jun 30 2008, 07:59) Подпр...   Jun 30 2008, 09:21
|- - Сергей Борщ   Цитата(aesok @ Jun 30 2008, 12:21) Лучше ...   Jun 30 2008, 09:32
|- - aesok   про --gc-sections где-то читал что могут быть проб...   Jun 30 2008, 09:35
|- - Сергей Борщ   Цитата(aesok @ Jun 30 2008, 12:35) про --...   Jun 30 2008, 10:06
|- - 777777   Поставил сабж. Размер обоих проектов увеличился ро...   Jul 18 2008, 07:02
|- - aesok   Цитата(777777 @ Jul 18 2008, 11:02) Глупы...   Jul 18 2008, 10:53
|- - 777777   Цитата(aesok @ Jul 18 2008, 14:53) Исходн...   Jul 18 2008, 11:56
|- - MrYuran   Цитата(777777 @ Jul 18 2008, 14:56) Надо ...   Jul 18 2008, 12:03
||- - kaf   Цитата(MrYuran @ Jul 18 2008, 18:03) А мн...   Jul 18 2008, 12:27
|- - aesok   Цитата(777777 @ Jul 18 2008, 15:56) а OS_...   Jul 20 2008, 20:21
- - Chak   Здравствуйте уважаемые форумчане! У меня проб...   Jun 30 2008, 18:03
|- - aesok   Цитата(Chak @ Jun 30 2008, 22:03) Help...   Jun 30 2008, 18:43
- - Chak   К Анатолию Спасибо за информацию о скором выходе ...   Jul 1 2008, 06:44
- - kurtis   Но если пойти по приведенной aesok ссылке, то там ...   Jul 1 2008, 12:59
|- - mdmitry   Цитата(kurtis @ Jul 1 2008, 16:59) Но есл...   Jul 1 2008, 13:15
- - kurtis   Заменил все prog_char на char имя_строки[] PROGMEM...   Jul 1 2008, 15:48
|- - aesok   Цитата(kurtis @ Jul 1 2008, 19:48) почему...   Jul 1 2008, 17:07
|- - haker_fox   Цитата(aesok @ Jul 2 2008, 02:07) Во втор...   Jul 4 2008, 02:59
- - kurtis   Анатолий, спасибо за ответы, очень помогло!...   Jul 3 2008, 10:39
- - MrYuran   Ну уж не знаю, что тогда считать документацией... ...   Jul 18 2008, 12:54
- - Антон Малыгин   У меня вот такой вопрос. поставил тут сегодня AVR ...   Jul 30 2008, 10:31
- - mdmitry   Мало информации: как создаете проект, какими средс...   Jul 30 2008, 13:26
|- - MrYuran   Цитата(mdmitry @ Jul 30 2008, 17:26) Снач...   Jul 30 2008, 13:32
- - Антон Малыгин   Самое интересное что дома попробывал сейчас немног...   Jul 30 2008, 18:16
|- - haker_fox   Цитата(Антон Малыгин @ Jul 31 2008, 03:16...   Jul 31 2008, 03:48
- - kaf   Цитата(haker_fox @ Jul 31 2008, 09:48) На...   Jul 31 2008, 07:22
- - _Pasha   Цитата(Антон Малыгин @ Jul 30 2008, 21:16...   Jul 31 2008, 07:41
- - mdmitry   2 MrYuran и haker_fox как я понимаю, студия именно...   Jul 31 2008, 11:26
|- - LEAS   Сам я пользуюсь WinAVR+AVRStudio+иногда Proteus. Н...   Jul 31 2008, 14:09
|- - haker_fox   Цитата(mdmitry @ Jul 31 2008, 20:26) 2 Mr...   Aug 1 2008, 03:13
|- - namelos   Доброе время суток, уважаемые. Возникла проблема п...   Aug 18 2008, 13:44
- - kurtis   Попробуйте так Кодtypedef struct { //const char*...   Aug 18 2008, 14:27
|- - namelos   kurtis, спасибо большое , помогло.   Aug 18 2008, 14:36
- - Tracer   Вот нарвался на странность Прописываю свой тип дан...   Sep 11 2008, 19:04
|- - aesok   Цитата(Tracer @ Sep 11 2008, 23:04) Вот н...   Sep 11 2008, 19:35
|- - Tracer   Цитата(aesok @ Sep 11 2008, 22:35) Привед...   Sep 11 2008, 19:58
|- - Сергей Борщ   Цитата(Tracer @ Sep 11 2008, 22:58) Компи...   Sep 11 2008, 20:50
|- - Tracer   Цитата(Сергей Борщ @ Sep 11 2008, 23:50) ...   Sep 11 2008, 21:12
|- - Непомнящий Евгений   Цитата(Tracer @ Sep 12 2008, 01:12) 2. По...   Sep 12 2008, 04:13
|- - Tracer   Цитата(Непомнящий Евгений @ Sep 12 2008, 07...   Sep 12 2008, 19:01
|- - aesok   Цитата(Tracer @ Sep 12 2008, 23:01) Я с т...   Sep 12 2008, 19:08
|- - Tracer   Цитата(aesok @ Sep 12 2008, 22:08) avr-li...   Sep 12 2008, 19:27
- - timex   Добрый день! У меня WinAVR 20080512 + AVR Stu...   Sep 25 2008, 10:44
- - Непомнящий Евгений   ну напишите руками приведение к тому типу, который...   Sep 25 2008, 10:56
|- - timex   Цитата(Непомнящий Евгений @ Sep 25 2008, 14...   Sep 25 2008, 11:25
- - mdmitry   Достаточно распространенная ситуация, когда конста...   Sep 25 2008, 11:45
- - timex   mdmitry, да, спасиб. при такой записи строки Кодe...   Sep 25 2008, 12:16
|- - _Pasha   Цитата(timex @ Sep 25 2008, 16:16) 1. по...   Sep 25 2008, 13:23
|- - mdmitry   Цитата(_Pasha @ Sep 25 2008, 17:23) 1. по...   Sep 25 2008, 13:31
|- - timex   Цитата(_Pasha @ Sep 25 2008, 17:23) 1. по...   Sep 25 2008, 13:44
|- - Сергей Борщ   Цитата(timex @ Sep 25 2008, 16:44) Перепр...   Sep 25 2008, 14:19
|- - mdmitry   Цитата(Сергей Борщ @ Sep 25 2008, 18:19) ...   Sep 25 2008, 15:02
|- - Сергей Борщ   Цитата(mdmitry @ Sep 25 2008, 18:02) в фу...   Sep 25 2008, 18:17
|- - mdmitry   Цитата(Сергей Борщ @ Sep 25 2008, 22:17) ...   Sep 25 2008, 19:46
|- - vik0   Цитата(mdmitry @ Sep 25 2008, 22:46) Наск...   Sep 25 2008, 20:13
|- - mdmitry   Цитата(vik0 @ Sep 26 2008, 00:13) Нет. С ...   Sep 25 2008, 20:36
- - _Pasha   Хочу спросить: почему в хедерах контроллеров не п...   Sep 30 2008, 07:06
- - aesok   Цитата(_Pasha @ Sep 30 2008, 11:06) Хочу ...   Sep 30 2008, 18:24
- - demiurg_spb   К слову, из рассылки ImageCraft от 26 сентября 200...   Oct 1 2008, 07:40
- - Tracer   Цитата(demiurg_spb @ Oct 1 2008, 10:40) К...   Oct 3 2008, 20:13


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

 


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


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