It is generally accepted that the data section of code in a 512kB FX3 or FX3s is divided roughly into two halves, the first being program and data memory etc, and the second devoted to DMA. Seeing as this quantity of DMA space is excessive for most applications, the ability to expand data memory into this section is attractive. I've done so without catastrophic failure, but I also have several strange problems which I am working through. Can someone please confirm that the FX3 memory can be divided as such without issue?
I-TCM : ORIGIN = 0x100 LENGTH = 0x3F00
SYS_MEM : ORIGIN = 0x40003000 LENGTH = 0x30000
DATA : ORIGIN = 0x40033000 LENGTH = 0x12000
The MEM heap is a Memory byte pool which is used to allocate OS objects
such as thread stacks and memory for message queues. The Cypress FX3
libraries require a Mem heap size of at least 32 KB.