私は8051アーキテクチャチップとSDCCコンパイラ用のCプログラムを書いています。
FilterStructureという構造があります。
私のコードは次のようになります...
#define NAME_SIZE 8
typedef struct {
char Name[NAME_SIZE];
} FilterStructure;
void ReadFilterName(U8 WheelID, U8 Filter, FilterStructure* NameStructure);
int main (void)
{
FilterStructure testStruct;
ReadFilterName('A', 3, &testFilter);
...
...
return 0;
}
void ReadFilterName(U8 WheelID, U8 Filter, FilterStructure* NameStructure)
{
int StartOfName = 0;
int i = 0;
///... do some stuff...
for(i = 0; i < 8; i++)
{
NameStructure->Name[i] = FLASH_ByteRead(StartOfName + i);
}
return;
}
何らかの理由で、「?ASlink-Error-エリアDSEGの内部RAMで29連続バイトを取得できませんでした」というリンクエラーが発生します。
FilterStructure testStruct;
エラーがなくなるという行をコメントアウトすると。
このエラーはどういう意味ですか?使い終わったら構造を破棄する必要がありますか?