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

improbably stack overflow

Hi,
I use sprintf() function, in previously message i erase 's' character from sprintf(), sorry.
I use sprintf()!!

PS: memory stack overflow is not present, i debug project and increase all stack memory and after if it is a stack problem why if i sprintf() a float variable as %d system work correctly??

PPS: i note in map file created from realview that the new define variable (that is U8 variable) use more than 1 byte but for example 3 byte!!Strange or normal??? It is the memory alignment!!But very strange that is the new declared variable that use more than 1 byte!!

Hi, Thanks

  • This sounds like the problem I have just encountered.

    It seems that my call to sprintf with
    "%5.1f" and a float is causing corruption.

    The magic word marking the end of stack for
    the task is being corrupted hence (if
    stack checking is enabled) the OS hangs.

    Anyone else seen this. As I say I have just
    found it so not investigated in depth.

    Pete

  • Mine looks like a genuine stack overflow.

    It seems the sprintf eats stack space at an alarming rate in what looks like a recursive loop. Upping the stack has stopped the hang & stack overflow.

    Still not out if the woods yet though since the floating point calculations are failing!

    Pete