Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAR озадачил ...
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Master
После вставки нижеследующего кода возникает ошибка:
Цитата
Internal Error: [PaType - MemoryAttribute]: no memory attribute set

А код вот такой:
Код
struct    tTest {
    union {
        struct tInner {
            BYTE    bA;
            BYTE    bB;
            BYTE    bC;
            BYTE    bD;
        } Inner;
        UINT    uiABCD;
    };
    tTest()
    {
        uiABCD = 0;
    }
};

tTest Test;

void func( void )
{
    BYTE*    array = (BYTE*)&Test.Inner.bA;
    array[ 0 ] = 0;
}
У кого какие мысли?

P.S. IAR C v4.31a, AT91SAM7S64.
DASM
это плюсовый код ?
Master
Цитата(DASM @ Jun 1 2006, 16:27) *
это плюсовый код ?

Не совсем понял вопроса. Комилируюсь под Extended Embedded C++.
DASM
а tTest() что в описании структуры делает ? Это конструктор ?
Master
Цитата(DASM @ Jun 1 2006, 16:37) *
а tTest() что в описании структуры делает ?

Как обычно, выполняется при объявлении структуры.
DASM
ну тады ой. К мен я компилируются. Если BYTE и UINT по-человечески объявлены
Master
Цитата(DASM @ Jun 1 2006, 16:42) *
ну тады ой. К мен я компилируются. Если BYTE и UINT по-человечески объявлены

Ясно. Роем дальше.
Но меня-то как раз интересовала ошибка, выданная компилером. Что она означает?
Master
Цитата(Master @ Jun 1 2006, 16:55) *
Цитата(DASM @ Jun 1 2006, 16:42) *

ну тады ой. К мен я компилируются. Если BYTE и UINT по-человечески объявлены

Ясно. Роем дальше.
Но меня-то как раз интересовала ошибка, выданная компилером. Что она означает?

Дело было не в бобине.
Но если вдруг кому-нибудь встретится такая ошибка компилера, расскажу про свою ситуацию.
Я хотел объявить константу в классе и проинициализировать её значением. Указанную ошибку компилер выдал после следующего текста:
Код
class clBB {
public:
    clBB();
private:
    char                m_FileName[ 13 ];    
};

clBB::clBB() : m_FileName( "bb.txt" )
{}

Короче говоря, я слегка перемудрил. А оказалось достаточно объявить const char* m_FileName и в конструкторе проинициализировать строкой m_FileName = "bb.txt";
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.