Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Internal Error: [CoreUtil/General]: Illegal state
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
SasaVitebsk
Создаю структуру типа
Код
// Группа управления основными контрольными лампами 1
#define GR_MAIN_CNTRL_1        0x00070009
struct
{
  uint64_t

    bZum600                : 2,                            // Зуммер 600 Гц
    bZum500                : 2,                            // Зуммер 500 Гц
    bZum400                : 2,                            // Зуммер 400 Гц
    bKl15                : 2,                            // Клемма 15

    bAvarP_CnPd2        : 2,                            // Кл авар. давления в контуре подвески 2 секции
    bAvarP_CnPd            : 2,                            // Кл авар. давления в контуре подвески
    bAvarP_ResPt2        : 2,                            // Кл авар. давления в ресивере потребит. 2 секции
    bAvarP_ResPt        : 2,                            // Кл авар. давления в ресивере потребит.

    bAvarP_CnPTrmz        : 2,                            // Кл авар. давления в контуре стояночн. тормоза
    bAvarP_CnPDopOsi    : 2,                            // Кл авар. давления в тормозн. контуре доп. оси
    bAvarP_CnPMstrBr    : 2,                            // Кл авар. давления в тормозн. контуре вед. моста
    bAvarP_CnPFrvOsi    : 2,                            // Кл авар. давл. в тормозн. контуре передней оси

    bCntrl_PTrmz        : 2,                            // Кл контроль функц. остановочного тормоза
    bSw_ManTrmz            : 2,                            // Кл включения ручного тормоза
    bCntrl_PNakl        : 2,                            // Кл износа тормозных накладок
    bAvarS_Trmz            : 2,                            // Кл. аварийного состояния тормозной системы

    bSw_FarLamp            : 2,                            // Кл включения дальнего света
    bSw_NearLamp        : 2,                            // Кл включения ближнего света
    bCntrl_ESP            : 2,                            // Кл работы системы ESP
    bCntrl_Intard        : 2,                            // Кл контроль функционирования интардера

    bSw_MystFon            : 2,                            // Кл включения противотуманных фонарей
    bSw_MystLamp        : 2,                            // Кл включения противотуманных фар
    bSw_RightLmp        : 2,                            // Кл включения поворота правого
    bSw_LeftLmp            : 2,                            // Кл включения поворота левого

    bCntrl_AvarDoor        : 2,                            // Кл аварийного открывания двери (1)
    bCntrl_AvarStDoor    : 2,                            // Кл аварийного состояния двери (1)
    bCntrl_OpenDoor        : 2,                            // Кл открытия двери (1)
    bCntrl_ComOpenDoor    : 2,                            // Кл общего открытия двери (1)

    bSw_AmberWrnLamp    : 2,                            // Amber warning lamp (КИ-УС)
    bSw_RedStpLamp        : 2,                            // Red stop lamp (КИ-УС)
    bCntrl_LowLvlOil    : 2,                            // Кл низкого уровня масла в ГУР
    bCntrl_StTrap        : 2;                            // Кл состояния трапа (1)

} sGrMainCntrl1;


Если работаю примерно так, то всё Ok
Код
  case GR_MAIN_CNTRL_1:
    TekPtr = (uint32_t *)&sGrMainCntrl1;
    *TekPtr++ = MsgBuf_RX1.DataA;
    *TekPtr = MsgBuf_RX1.DataB;
    GrMainCntrl1Upd();
    break;/*


А если так, то
Код
  if(sGrMainCntrl1.bAvarP_ResPt == 1)
  {
    zn[17].Update = TRUE;
//    if(!zn[17].Visible) {zn[17].Visible = TRUE; zn[17].Update = TRUE;}
  }

возникает ошибка в заголовке темы.

Что посоветуете???
Заколелебался экспериментировать.
kosyak©
Была похожая проблема - http://electronix.ru/forum/index.php?showtopic=77652

Видимо единственное что можно тут придумать - обновить компилятор smile.gif... и ждать новых глюков smile.gif)
Сергей Борщ
Цитата(SasaVitebsk @ Sep 10 2010, 22:31) *
возникает ошибка в заголовке темы.

Что посоветуете???
Саша, ну вроде взрослый человек! Internal error означатет, что программа зашла туда, куда программисты не ожидали. Типа
Цитата
if (1==1.003) printf ("Pentium detected!\n")


Писать в суппорт: "Че за ботва??".
SasaVitebsk
Скачал 5.50 с закормов. Всё компилится. smile.gif
Классно что electronix есть. ))
SasaVitebsk
Откомпилилось 2 раза без ошибок - и дальше та же шняга.
Переписал всю прогу без битовых полей. работу с битами написал вручную.
Всё работает, конечно, но осадок остался.

Дело в том, что эти структуры не за уши притянуты. Новый протокол ISCAN. Я его получаю и передаю (транслирую). Ну и работаю с ним походу. Конечно, нагляднее когда чётко прописаны все поля и именованы. Это потом можно использовать многократно. А теперь у меня слова и битовые смещения. Уже не красиво.
SasaVitebsk
Прошу всех прощения за дезонформацию по последнему посту. Просто от старой версии остался ярлык. smile.gif
Ну а далее всё было так... Ночью скачал версию 5.50 - проверил - работает. Пошёл спать. А утром запустил с ярлыка (версию 5.4) и опять проявилась ошибка. И я сделал неверный вывод - начал переписывать прогу и т.д. Как говорится: дурака работа любит.

То есть в версии 5.5 данная ошибка устранена. Всё прекрассно компилится. Я вернул старую версию проги.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.