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

 
 
> Internal Error: [Post Optimize]: Any exception, почему появляется ошибка? (IAR 4.20)
GetSmart
сообщение Oct 23 2009, 08:54
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Вопрос к спецам:
почему появляется ошибка в данном коде на максимальной оптимизации? На всех остальных оптимизациях и без, код нормально компилируется.
IAR 4.20. На других не пробовал. Может есть другой вариант описания данной структуры? Но хотелось чтобы поля структуры адресовались из "корня", то есть без лишнего имени структуры.

Код
typedef union
{
    u32    data;
    struct
    {    u08    light;
        u08    red;
        u08    green;
        u08    blue;
    };
} TLIGHT_DATA;

TLIGHT_DATA LightNew, LightOld;

main()
{
    if (LightNew.light <> LightOld.light) ...
}


Добавлю. Ошибка то появляется, то исчезает когда немного код изменяю. В первой версии был большой код. Здесь я всё сократил до минимума.

Сообщение отредактировал GetSmart - Oct 23 2009, 09:41


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Oct 24 2009, 12:49
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Провёл эксперимент. В чистом 4.20 всё работает (сразу скажу для непонятливых - в 4.20 я не менял ничто и никогда). В чистом 4.30 не работает. Если в 4.30 заменить iccarm.exe на файл из 4.20, то прошивка работает. Но. По размеру и некоторым признакам эта прошивка очень похожа на ту, которую генерит чистый 4.30, чем на ту, которую генерит чистый 4.20. Значет ещё линкер поменялся.

Цитата(zltigo)
Начните, наконец, с простого включения и чтения Warnings. Только, естественно, на 4.42.

Варнинги у меня всегда влючены. Там всё как надо. 4.42 ещё не установил. Поставлю не раньше завтра.

Сообщение отредактировал GetSmart - Oct 24 2009, 12:51


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 24 2009, 12:57
Сообщение #3


Гуру
******

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



Цитата(GetSmart @ Oct 24 2009, 15:49) *
Варнинги у меня всегда влючены.

Не верю, иначе бы Вы никогда не писали подобные вещи:
Код
   while (1)
    {    tmp = T0TC - LightStamp1;
......

По крайней мере в IAR...


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 24 2009, 12:59
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo @ Oct 24 2009, 18:57) *
Не верю, иначе бы Вы никогда не писали подобные вещи:
Код
   while (1)
    {    tmp = T0TC - LightStamp1;
......

По крайней мере в IAR...

Не понимаю где тут варнинг? Дайте что ли листинг, в котором будет этот варнинг.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 24 2009, 13:05
Сообщение #5


Гуру
******

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



Цитата(GetSmart @ Oct 24 2009, 15:59) *
Не понимаю где тут варнинг? Дайте что ли листинг, в котором будет этот варнинг.

Вот я и говорю, что надо их все включать sad.gif
Код
      7          void main()
      8          {
      9              u32 LightStamp1 = T0TC;
   \                     main:
   \   00000000   8E02A0E3           MOV      R0,#-536870904
   \   00000004   400C80E3           ORR      R0,R0,#0x4000
   \   00000008   000090E5           LDR      R0,[R0, #+0]
   \   0000000C   2C109FE5           LDR      R1,??main_0     ;; LightNew
   \   00000010   002091E5           LDR      R2,[R1, #+0]
   \   00000014   041091E5           LDR      R1,[R1, #+4]
     10              u32 tmp;
     11              while (1)
                            ^
Remark[Pe236]: controlling expression is constant
     12              {    tmp = T0TC - LightStamp1;
   \                     ??main_1:
   \   00000018   8E32A0E3           MOV      R3,#-536870904
   \   0000001C   403C83E3           ORR      R3,R3,#0x4000
   \   00000020   003093E5           LDR      R3,[R3, #+0]
   \   00000024   003043E0           SUB      R3,R3,R0
     13                  if ((LightCur != LightNew) && (tmp >= 1000))


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- GetSmart   Internal Error: [Post Optimize]: Any exception   Oct 23 2009, 08:54
- - Палыч   Цитата(GetSmart @ Oct 23 2009, 11:54) Код...   Oct 23 2009, 11:00
|- - GetSmart   Цитата(Палыч @ Oct 23 2009, 17:00) В опер...   Oct 23 2009, 11:12
- - rezident   IAR EWARM 5.40.1 на последний пример не дает ошибо...   Oct 23 2009, 12:52
- - zltigo   Цитата(GetSmart @ Oct 23 2009, 11:54) поч...   Oct 23 2009, 13:10
|- - GetSmart   Цитата(zltigo @ Oct 23 2009, 19:10) Да ка...   Oct 23 2009, 21:57
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 00:57) без...   Oct 23 2009, 22:23
- - rezident   Еще раз подтверждаю, что в IAR EWARM 5.40.1 никаки...   Oct 23 2009, 22:23
- - GetSmart   Что я буду делать с 5-ой версией версией компилера...   Oct 23 2009, 23:11
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 02:11) Вер...   Oct 24 2009, 10:55
|- - GetSmart   Цитата(zltigo @ Oct 24 2009, 16:55) Как В...   Oct 24 2009, 11:57
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 14:57) Уже...   Oct 24 2009, 12:02
- - rezident   Установил 4.20a и 4.30a. Файл из сообщения №6. Tar...   Oct 23 2009, 23:38
- - GetSmart   Что то я в процессе кастрации не заметил когда оши...   Oct 24 2009, 00:09
- - rezident   Может я что-то не то делаю, но в 4.20 ошибка почти...   Oct 24 2009, 01:22
- - GetSmart   Да, странно. У меня в директории IAR4.30 лежит ком...   Oct 24 2009, 02:16
- - GetSmart   Приехали. Взял первый попавшийся большой проджект,...   Oct 24 2009, 12:29
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 15:29) При...   Oct 24 2009, 12:36
- - GetSmart   А, ремарки! Это вообще бесполезная вещь, котор...   Oct 24 2009, 13:10
- - zltigo   Цитата(GetSmart @ Oct 24 2009, 16:10) Име...   Oct 24 2009, 13:20
- - GetSmart   Цитата(zltigo @ Oct 24 2009, 19:20) Стран...   Oct 24 2009, 13:26
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 16:26) Ткн...   Oct 24 2009, 13:33
- - GetSmart   Цитата(zltigo @ Oct 24 2009, 19:20) Стран...   Oct 24 2009, 14:58
- - zltigo   Цитата(GetSmart @ Oct 24 2009, 17:58) zlt...   Oct 24 2009, 15:52
- - GetSmart   Цитата(zltigo @ Oct 24 2009, 21:52) Тем н...   Oct 26 2009, 11:13
- - zltigo   ЦитатаСписок исправленных-внесенных ошибок IAR вед...   Oct 26 2009, 11:25
- - GetSmart   Цитата(zltigo @ Oct 26 2009, 17:25) Так в...   Oct 26 2009, 12:05


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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 20:22
Рейтинг@Mail.ru


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