Hi, love the Maple! Thanks, LeafLabs, for doing this!
I'm doing a LED lights project, and running into a hard problem with the SRAM usage though on my Maple R5. I'm using the IDE (v0.0.12) on Winblows XP, compiling for a Maple R3+ uploading the program to flash. My program bombs and the LED sometimes throbs when .data, as reported on IDE compilation, goes over the Maple's 20KB (20,480 bytes) of SRAM.
Prob is, when the IDE compilation reports a .data size right at 20,480 bytes, i then run arm-none-eabi-size on my lights12.cpp.elf file, which reports text=17564 data=2912 bss=7400 dec=27876 (the bss is large because of two big arrays). It seems that the .data size is reported, and thus the size that tried to be loaded into the SRAM, consists of (text=17564 + data=2912) to get to 20,476. Shouldn't the .data size that gets loaded into SRAM instead be (data + bss + space for the stack) since text only gets loaded into ROM/flash?
As a comparison, i compiled "blink", and the IDE compilation reports a .data size of 12840. Then running 'size' on blink.cpp.elf reports text=11215 data=1624 bss=416 dec=13255). Note that blink's text + data = 12839, resulting in the reported .data of 12840.
Could a bug be in the compilation process resulting in this? I checked the flash.ld config file that gets called, and it does indeed try to load "REGION_TEXT" to rom, and "REGION_DATA" to ram.
Is there anything i could do to get around this? I would strongly prefer not to buy another computer to load Linux and setup the UNIX tool chain to then tweak the Makefile. My preferences are if a config file somewhere could be changed, or download a .exe or .dll that makes this correction, or barring that, unsolder the normal RBT chip and try to solder in a RET6 chip.
As always, i could have been doing something stupid, but i don't see it if i am. I have run my program numerous times, and the problem occurs right when the reported .data goes over 20,480 bytes, despite numerous changes i made to functions in the program, so it's not related to any specific 'C' code.
Any suggestions or ideas?
Thanks in advance!!!!!