This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

data abort error

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

Parents Reply Children
  • thanks for the hint, but "Show Source Code for the current address" is not available, when I click right in the assembly window.

    the current address for the data abort is e.g. 0x2000DD29

    in the assembly window:

    0x2000DD29 00000000 ANDEQ R0, R0, R0
    
    
    
    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

    Gerd

  • 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.

    Gerd

  • 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...

    Gerd

  • 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.

    Gerd