AnsweredAssumed Answered

Variables not getting placed in RAM

Question asked by loosecannon on Sep 13, 2016
Latest reply on Sep 16, 2016 by loosecannon

Variables are not getting correctly placesed. In V8.2.2 for windows building for a LPC11C24, variables are getting placed directly AFTER the RAM section. If I enlarge the RAM section (which is larger than physically on the chip), the variable moves, and if I shrink the section to half the chip RAM, the variable again moves to the memory immediately following the defined RAM section. I am using the NewlibNano nohost. Also, it looks like the memcpy operations in the Chip_UART_SendRB function are wiping out vtables so the next polymorphic function call causes a fault. I stepped through and everything looks correctly written with enough RAM, so have no idea why variables are getting placed outside of RAM and obviously not working. This is a statically located global variable. Does the NewlibNano have problems with C++ or memcpy? Why would variables get placed in RAM outside of the defined RAM segment?

The same code works fine for a Newlib nohost built binary running on an LPC1837.

Outcomes