Thanks to everyone for the help provided!
I now think this is a board-specific problem. I've checked every assignment twice and couldn't find a mistake! The problem only occurs when the sdram-memory is accessed! After I moved all memory sections (.text, .rwdata, etc.) to the sram-memory, I could run my programm. Furthermore tests with variables explicit stored in the sdram indicate a read/write-error. Take a look at the following lines:
int my_ints[5] __attribute__ ((section (".sdram_0")));
//sdram_0 base address is 0x1000000
...
int x,y;
for (x=0; x<5; x++)
{
my_ints[x] = x + 10;
}
for (y=0; y<5; y++)
{
printf("my_int[%d] at addr %x = %d \n",y,&my_ints[y],my_ints[y]);
}
and the output on the IDE-terminal window:
my_int[0] at addr 1000000 = 57599
my_int[1] at addr 1000004 = 1090490623
my_int[2] at addr 1000008 = 16716031
my_int[3] at addr 100000c = 16716031
my_int[4] at addr 1000010 = 1090490623
Maybe I should ask the manufacturer of the board, because when the design is compiled with a full license the output shows the expected values 10 to 14. By the way, I use a UP3-1C12 Education Kit provided by SLS Corp. ...