This thread has been quiet for ages, but I'm running into issues around which section of RAM things are located in. Is there any way of forcing system libraries into the main bank? From DisplayRAMBanks, I get:
Static RAM bank allocations
Main RAM = 13348
RAM0 = 16384
RAM1 = 11348
And without forcing things around certain things break. Or start working again. RAM0 seems pretty full and it seems like pure luck whether I'll get a properly working binary or not. When it does hit a limit, the Watchdog kicks in and resets the system. I'm using the following libraries with one SPI device, (which on their own or a less complex combination) work fine on their own.
EthernetInterface, from a casual look around the forums, seems to cause a headache or two vis-a-vis RAM, so I'm wondering if that's eating too much of RAM0 and if placing it into the main bank wouldn't help.
Any suggestions or hints would be very welcome.
I've been working on a project that manages 128 I/O pins through the use of some I2C expanders. The problem is, once I load up the code, I'm left with 8K of heap - not enough to even load the LWIP stack and run it.
Because the hardware configuration is static between boots, I was thinking of using the "other 32K" of RAM on the board.
Is this the right approach or are there any hints on how to scrounge back some RAM?