Content originally posted in LPCWare by on Thu Jun 14 02:24:04 MST 2012
I am familiar with the code, so know the change you have made, I doubt anybody else looking at this will be able to provide an answer as you have not actually said what you changed.
From the look of it, you are attempting to put the xHeap block into __BSS(RAM2) which is in AHB RAM. I'm not sure about the syntax [I would normally use __attribute__section((""))], but assuming the syntax is correct, so I think the question is why can the stacks not be in AHB RAM?
That RAM by convention is used by peripherals (USB, Ethernet). Do you have anything enabled that might be overwriting that RAM?
You can adapt heap_x.c to define a pointer to the start of AHB RAM, rather than defining an array of fixed size. I'm pretty sure I have done that before without a problem, but can't be sure. I know I have done a similar thing with Ethernet buffers which are accessed both by the DMA and C functions.