Why does using a structure in C program cause Link error <p>I am writing a C program for a 8051 architecture chip and the SDCC compiler.</p> <p>I have a structure called FilterStructure;</p> <p>my code looks like this...</p> <pre><code>#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, &amp;testFilter); ... ... return 0; } void ReadFilterName(U8 WheelID, U8 Filter, FilterStructure* NameStructure) { int StartOfName = 0; int i = 0; ///... do some stuff... for(i = 0; i &lt; 8; i++) { NameStructure-&gt;Name[i] = FLASH_ByteRead(StartOfName + i); } return; } </code></pre> <p>For some reason I get a link error "?ASlink-Error-Could not get 29 consecutive bytes in internal RAM for area DSEG" </p> <p>If I comment out the line that says <code>FilterStructure testStruct;</code> the error goes away.</p> <p>What does this error mean? Do I need to discard the structure when I am done with it?</p>