|
ГЛЮКИ КОМПИЛЯТОРОВ, предлагаю описывать здесь |
|
|
|
 |
Ответов
|
Feb 6 2007, 12:53
|

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

|
Цитата(SasaVitebsk @ Feb 6 2007, 11:12)  Предыдущие попытки "обвинить" компилятор и уличить его в граблях, заканчивались провалом. (По крайней мере в области языка). Так что не думаю, что данная ветка будет содержать большое колличество постов. Хотя кто знает ... Подавляющее количество подобных глюков - от недопонимания. Зато как хорошо звучит: "ГЛЮКИ КОМПИЛЯТОРОВ" Тем не менее, позволю себе указать на один реальный (я уже писал о нём). Тулчейн от IAR не важно какой версии. Глюк содержится в файле \avr\src\lib\eeprom.s90 (предкомпилирован во все библиотеки с еепром больше 256 байт) и заключается в неверной записи в еепром чисел типа long long. Для исправления глюка надо включить в проект исправленный файл. Исправить надо содержимое функции __eeput64_16: заменить в ней ?eeput16 на ?eeput16_64 и ?eeput16_inc на ?eeput16_64_inc. Как это ни странно, но разработчики от версии к версии вносят изменения только в комментарии.
|
|
|
|
|
Feb 6 2007, 13:18
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 8-01-07
Из: Одесса
Пользователь №: 24 196

|
?eeget16_64_inc: ADIW R25:R24,1 ?eeget16_64: RCALL ?eewait OUT EEARL,R24 //*********************************************** OUT EEARH,R25 SBI EECR,EERE RET
Является ли глюком загрузка адреса без запрета прерывания? Если в прерывании захочется обратится к EEPROM можно сбить EEARL.
--------------------
Опыт - это та чудесная штука, которая позволяет вам узнать ошибку, когда вы ее повторите.
|
|
|
|
|
Feb 6 2007, 13:44
|

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

|
Цитата(satellite-plus @ Feb 6 2007, 12:18)  Является ли глюком загрузка адреса без запрета прерывания? Если в прерывании захочется обратится к EEPROM можно сбить EEARL. Нет, не является. Но если существует возможность обращения к еепром (или к любому другому подобному ресурсу) из прерываний (или в других процессах в случае применения RTOS), то обрамление критичного ресурса процедурами сохранения/запрета/восстановления прерываний ложится на пользователя. Но когда это бывает нужно, то это несложно сделать. Я уже выкладывал исправленный файл в этой ветке.
|
|
|
|
Сообщений в этой теме
Fortune ГЛЮКИ КОМПИЛЯТОРОВ Feb 6 2007, 11:28 Fortune Цитата(SasaVitebsk @ Feb 6 2007, 13:12) П... Feb 6 2007, 13:23  _Bill Цитата(Fortune @ Feb 6 2007, 13:23) Цитат... Feb 6 2007, 13:28   Fortune Цитата(_Bill @ Feb 6 2007, 14:28) Вот и д... Feb 6 2007, 14:04    xinod2000 Цитата(Fortune @ Feb 6 2007, 15:04) Цитат... Feb 6 2007, 14:50     _Bill Цитата(xinod2000 @ Feb 6 2007, 14:50) Цит... Feb 6 2007, 15:23 Sergio66 Согласен с теми, кто предлагает вынести на широкое... Feb 6 2007, 13:41 GDI Может потому что функция имеет следующее объявлени... Feb 6 2007, 14:30 ahulap мне кажется, что дело здесь в преобразовании типов... Feb 6 2007, 16:19 _Bill Цитата(ahulap @ Feb 6 2007, 16:19) мне ка... Feb 6 2007, 16:28  Fortune Цитата(_Bill @ Feb 6 2007, 17:28) ... И в... Feb 7 2007, 11:50   _Bill Цитата(Fortune @ Feb 7 2007, 11:50) Цитат... Feb 7 2007, 13:33    Fortune Цитата(_Bill @ Feb 7 2007, 14:33) А как с... Feb 7 2007, 15:19     _Bill Цитата(Fortune @ Feb 7 2007, 15:19) Цитат... Feb 7 2007, 16:01      Fortune Цитата(_Bill @ Feb 7 2007, 17:01) Сколько... Feb 7 2007, 18:18   ahulap Цитата(Fortune @ Feb 7 2007, 10:50) если ... Feb 8 2007, 18:28 GDI delay(250) убрать - вот и будет время Feb 7 2007, 14:14 DimG Почему никто не обратил внимание на вот это
Цитата... Feb 7 2007, 16:06 ahulap запись y=(40*sin(a))+100 верна, я проверил на неск... Feb 7 2007, 17:26 GDI Цитатаменя по-моему не должно беспокоить время вып... Feb 7 2007, 18:38 Fortune [quote name='GDI' post='207730' date='Feb 7 2007, ... Feb 8 2007, 10:16 GDI Не плохо было бы посмотреть какие данные получаютс... Feb 8 2007, 15:59 Fortune Цитата(GDI @ Feb 8 2007, 16:59) ... предл... Feb 8 2007, 16:10  Сергей Борщ Цитата(Fortune @ Feb 8 2007, 15:10) Цитат... Feb 8 2007, 17:23 kolobok0 Цитата(Fortune @ Feb 6 2007, 11:28) ...
П... Feb 8 2007, 21:02 ahulap Цитата(kolobok0 @ Feb 8 2007, 20:02) не з... Feb 8 2007, 21:35 DimG ЦитатаВряд ли. Потому что прямые линии рисуются эт... Feb 9 2007, 06:06 Fortune Цитата(DimG @ Feb 9 2007, 07:06) ЦитатаВр... Feb 9 2007, 11:05 tag ...уже около года юзаю IAR и столкнулся с интересн... Feb 9 2007, 11:08 DimG Fortune
Вообще-то я просто хотел увидеть, как объя... Feb 9 2007, 11:23 Fortune Цитата(DimG @ Feb 9 2007, 12:23) Вообще, ... Feb 9 2007, 12:00 ahulap Функция sine() не имеет параметров, так что должна... Feb 9 2007, 11:32 Fortune Изменил программу:
volatile u08 iob[512];
void si... Feb 9 2007, 12:48 _Bill Цитата(Fortune @ Feb 9 2007, 12:48) Измен... Feb 9 2007, 14:07  Fortune Цитата(_Bill @ Feb 9 2007, 15:07) А контр... Feb 9 2007, 15:59   _Bill Цитата(Fortune @ Feb 9 2007, 15:59) Цитат... Feb 9 2007, 16:07    Fortune Цитата(_Bill @ Feb 9 2007, 17:07) Цитата(... Feb 9 2007, 16:36 Andy Great Аргумент синуса предполагается в радианах. Feb 9 2007, 18:50
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|