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

Decompressor overwrites my variables...

cpu: at91sam7x256

I have in my project some global objects, they are by default placed at address 0x200000. My program seems to work properly but occasionally beginning of RAM is filled with zeros by Keil library function at label: __decompress1 in deassembly window. It makes some my variables and pointers are useles and program stops responding. The worst is, that pointers are defined as const and they are not expected to change.

Any idea how to solve this error?

Parents
  • This sounds like a problem in your part of the code. Look for watchdog resets, stack overflow, pointer corruptions or use of uninitialized pointers/array indices in your code.

    The zero-init and decopress of const variables should only happen during program startup, so you either gets restarts when not planned, or your code somehow manages to jump into code functions you don't intended to call.

Reply
  • This sounds like a problem in your part of the code. Look for watchdog resets, stack overflow, pointer corruptions or use of uninitialized pointers/array indices in your code.

    The zero-init and decopress of const variables should only happen during program startup, so you either gets restarts when not planned, or your code somehow manages to jump into code functions you don't intended to call.

Children