This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

.sysmem spans page boundary ?

Hi,

I am implementing the FLAC project on the C5515 EVM board. I need to set a big heap for malloc, because the FLAC really has a lot of malloc in the library.

I manually added a command file as below:

-stack 0x1000 /* PRIMARY STACK SIZE */

-sysstack 0x1000 /* SECONDARY STACK SIZE */

-heap 0x01C000 /* HEAP AREA SIZE */

MEMORY

{

MMR (RW) : origin = 0000000h length = 0000C0h /* MMRs */

VEC (RX) : origin = 00000C0h length = 000300h /* on-chip ROM vectors */

DARAM (RW) : origin = 0000400h length = 00FC00h /* on-chip DARAM */

DYNRAM (RW) : origin = 0010000h length = 020000h

INITVAR (RW) : origin = 0030000h length = 010000h

SARAM (RW) : origin = 0040000h length = 0C0000h

}

SECTIONS

{

vectors : > VEC ALIGN = 256

.const : > INITVAR //constant data

.bss : > INITVAR, fill = 0 //global & static vars

.cinit : > INITVAR //autoinitialization tables

.switch : > INITVAR //switch statement table

.data : > INITVAR //initialized vars

.cio : > INITVAR //C I/O buffers

.stack : > INITVAR ALIGN = 4

.sysstack : > INITVAR ALIGN = 4

.sysmem : > DYNRAM //dynamic memory (malloc)

.text : > SARAM ALIGN = 4

}

When I compile the code, the CCS gives an error "section .sysmem(0x10000) spans page boundary: not allowed before CPU revision 3.0". If I change the heap size to 0x8000, it works. But if I set 0x1C000, it fails. I know 0x1C000 is still below 128KW boundary. Why does this error occur? How can I increase the heap size? Thanks.