|
Загадочное поведение SAM7S64 & IAR 4.40a |
|
|
|
Jul 20 2006, 10:34
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 4-11-05
Из: Tomsk
Пользователь №: 10 464

|
Имеется проект с несколькими прерываниями: UARTы, ADC, PIO, таймеры и TWI. Поскольку TWI у SAMa не имеет PDC, а на на нем висят графический индикатор, FRAM и RTC, то есть обмен достаточно интенсивный, я сделал "подкачку байтов" в прерывании. Прерывание короткое, с максимальным приоритетом, так как TWI у SAMa не любит пауз на шине. Вызов прерываний сделан с использованием Сstartup.s79.
Теперь самое интересное: - компилю проект с уровнем оптимизации Medium (здесь и далее по тексту: code или size - один хрен). Устройство устойчиво работает сутками, то есть все пучком. - повышаю уровень оптимизации до High. Короткий всплеск активности на шине TWI и все погибает. Даже индикатор мертв, программа циклит в совершенно левом месте. Думаю, хрен с ним, у IAR-а всегда были такие проблемы при макс. оптимизации. Но: - снижаю уровень оптимизации до Low. Индикатор работает, а при обмене с FRAM и RTC идут периодические сбои. Но в целом изделие работает. - отключаю оптимизацию, поведение как в предыдущем случае + через некотое время (час-два) TWI переходит в режим самоудовлетворения - по шине хреначит беспорядочная передача, не прекращающаяся даже при остановке процессора.
Вопрос: как к этому относиться и, главное, кто виноват? Сижу не первый день, свои варианты закончились. Может кто-нибудь выскажет соображения? Буду рад любой идее.
|
|
|
|
|
 |
Ответов
|
Jul 20 2006, 10:42
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(sgrig @ Jul 20 2006, 13:34)  Вопрос: как к этому относиться и, главное, кто виноват? 1.Относится к этому следует плохо. 2.Виноват в этом обычно программист неясно выразивший свою мысль компилятору, который тоже, увы, не совершенен, особенно в предугадании последствий. 3.Локализуйте поблемный кусок включая/отключая оптимизацию на части проекта и локализовав, думайте над более однозначным написанием куска программы. 4. Ну и в качестве надежды на чудо - используйте свежий компилятор: IAR ARM ANSI C/C++ Compiler V4.40A-P060613/W32 __________________________________^^^^^^^^^
Сообщение отредактировал zltigo - Jul 20 2006, 10:57
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 24 2006, 13:18
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
Цитата(zltigo @ Jul 21 2006, 16:26)  Патч в виде совершенно автономного компилятора :-). Работает при наличии лицензии на full компилятор ЛЮБОЙ версии. Ну очень любезно со стороны IAR :-) Вы можете сбросить на фтп вашу лицензию? У себя нашел только EWARM Version: 2.1_WIN standalone license (dongled) (no:1000-005-880-9779) но с ней не работает, т.к. это dongled лицензия. А генераторы делают лицензии для евалюшн версий
|
|
|
|
|
Jul 24 2006, 15:51
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(ig_z @ Jul 24 2006, 16:18)  А генераторы делают лицензии для евалюшн версий Я пользую: 2.1_WIN\0EWARM\0\0.... Готовый выложил в первоначальную ветку: http://electronix.ru/forum/index.php?showt...mp;#entry137296
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 7 2006, 14:00
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(zltigo @ Jul 24 2006, 18:51)  Цитата(ig_z @ Jul 24 2006, 16:18)  А генераторы делают лицензии для евалюшн версий
Я пользую: 2.1_WIN\0EWARM\0\0.... Готовый выложил в первоначальную ветку: http://electronix.ru/forum/index.php?showt...mp;#entry137296Да нет там ничего вложенного, только намерение выложить.
|
|
|
|
Сообщений в этой теме
sgrig Загадочное поведение SAM7S64 & IAR 4.40a Jul 20 2006, 10:34 sgrig 1 и 2 - полностью согласен, хотя не могу понять ва... Jul 20 2006, 10:52  zltigo Цитата(sgrig @ Jul 20 2006, 13:52) хотя н... Jul 20 2006, 11:09   sgrig Цитата(zltigo @ Jul 20 2006, 18:09) Прост... Jul 20 2006, 11:47 beer_warrior 1.Вы все возможное пообъявляли как volatile?
У мен... Jul 20 2006, 11:04 beer_warrior ЦитатаФу, какой моветон :-( Зачем-же "все воз... Jul 20 2006, 11:35 zltigo Цитата(beer_warrior @ Jul 20 2006, 14:35)... Jul 20 2006, 11:43 d__ Гы-гы-гы! Еще одна жертва ИАРа... Jul 22 2006, 09:52 zltigo Цитата(d__ @ Jul 22 2006, 12:52) Гы-гы-гы... Jul 22 2006, 10:12 d__ Да бросьте этот ИАР аб землю и плюньте на него слю... Jul 25 2006, 09:00 zltigo Цитата(d__ @ Jul 25 2006, 12:00) Да брось... Jul 25 2006, 09:06 d__ Про заезженость пластинки вы расскажите кому либо ... Jul 26 2006, 07:03 zltigo Цитата(d__ @ Jul 26 2006, 10:03) из-за не... Jul 26 2006, 07:55 ig_z Цитата(d__ @ Jul 26 2006, 10:03) Про заез... Jul 26 2006, 12:53 d__ А почему бы вам не рассказать о том как IAR ARM ст... Jul 27 2006, 07:51 zltigo Цитата(d__ @ Jul 27 2006, 10:51) А почему... Jul 27 2006, 09:45 vet "кил" чего, простите? исходников? так эт... Jul 27 2006, 09:14 _Sam_ ЦитатаПоскольку TWI у SAMa не имеет PDC, а на на н... Jul 27 2006, 09:27 d__ Очень приятно иметь дело с человеком утруждающим с... Jul 27 2006, 12:47 zltigo Цитата(d__ @ Jul 27 2006, 15:47) Так все-... Jul 27 2006, 13:59 sgrig Огромное спасибо за проявленное внимание, но компи... Jul 27 2006, 18:16 GetSmart У меня был недавно глюк с IAR 4.20. Он гад констан... Jul 27 2006, 19:08 zltigo Цитата(GetSmart @ Jul 27 2006, 22:08) У м... Jul 27 2006, 19:32 SpiritDance Да и число 16 какое-то... наводящее на мысли. Кон... Jul 27 2006, 19:38 GetSmart Цитата(SpiritDance)Да и число 16 какое-то... навод... Jul 27 2006, 20:38 GetSmart Зацените вырезку из отладчика:
Код 0x00002C88 E3A0... Jul 27 2006, 21:43 GetSmart Я как бы извиняюсь, что воду тут намутил. Зря. Jul 27 2006, 22:01 aaarrr Цитата(GetSmart @ Jul 28 2006, 02:01) Я к... Jul 27 2006, 22:27 SpiritDance Хм у меня есть уже определенная методика обнаружен... Jul 28 2006, 06:21 GetSmart Цитата(SpiritDance)А еще может кто-нибудь все-таки... Jul 28 2006, 08:02 SpiritDance Я имел ввиду RealVeiw от ARM, сколько не смотрел в... Jul 28 2006, 09:30 aaarrr ЦитатаЯ имел ввиду RealVeiw от ARM, сколько не смо... Jul 28 2006, 09:53 SpiritDance Да чтото до ллинкера я не дошел так глубоко, а над... Jul 29 2006, 07:38
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|