What kind of error could it be, if one register gets a address value causing a data abort. Because this value is in the undefinend area.
I wrote the code in c and I set a breakpoint befor the part, where the data abort occur. But when I step through this part of code I get the right value for this register and no data abort will occur.
So I think the code must be ok, but which side-effect could cause such a error?
Gerd
I think there's a data overflow, because my printf function shows strange values
int fputc(int ch, FILE *f) { return (COM1_Sendchar(ch)); }
In the stack window I can read that f should have the value / address 0x00000000 and ch is 0xFFFFFFFF
one question for my better understanding.
there's the stack top (at 0x00200588); I write a pattern from this address to lower addresses - to see if the stack size is enough. And the stack is really enough.
I check the values and I could see that above the stack top is a area with oxFF( in the internal RAM) following a part of 0x00 and then I could see a few values, stored at the end of the sram.
When I 'start this pattern from the last address of the sram to the stack top, then I'm not able to start my program, because I got immediately a dara abort. Moreover if I take a look into the call stack window then main is never called. Another function fputc for printf() is called...
ok now I see that I'm not able to write my pattern at the end of the internal ram - but where could I see which values are stored in this region? I can't see anything in the map file.