Part Number: CC1310
Tool/software: TI-RTOS
Hi all,
I have data transmission on UART and radio. When I move task stack of Uart read task to GPRAM, data cannot be read from UART. Are there any restrictions about GPRAM (is it not like a SRAM?)?
I move the stack with the following code.
#define FLASH_BASE 0x0
#define FLASH_SIZE 0x20000
#define RAM_BASE 0x20000000
#define RAM_SIZE 0x5000
#define GPRAM_BASE 0x11000000
#define GPRAM_SIZE 0x2000
/* System memory map */
MEMORY
{
/* Application stored in and executes from internal flash */
FLASH (RX) : origin = FLASH_BASE, length = FLASH_SIZE
/* Application uses internal RAM for data */
SRAM (RWX) : origin = RAM_BASE, length = RAM_SIZE
GPRAM (RWX) : origin = GPRAM_BASE, length = GPRAM_SIZE
}
/* Section allocation in memory */
SECTIONS
{
.text : > FLASH
.binit : > FLASH
.const : > FLASH
.constdata : > FLASH
.rodata : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH
.emb_text : > FLASH
.ccfg : > FLASH (HIGH)
.data : > SRAM
.gpram : > GPRAM
{
tsch.obj(*freqTable)// this is static array
uartTask.obj(*interTaskStack) // task stack of Uart read task
uartTask.obj(*mailboxBuffer)
}
.bss : > SRAM
.sysmem : > SRAM
.stack : > SRAM (HIGH)
.nonretenvar : > SRAM
#ifdef __TI_COMPILER_VERSION__
#if __TI_COMPILER_VERSION__ >= 15009000
/* Hide section from older compilers not supporting the "ramfunc" attribute.
See processors.wiki.ti.com/.../Placing_functions_in_RAM */
.TI.ramfunc : {} load=FLASH, run=SRAM, table(BINIT)
#endif
#endif
}
What can be the problem about GPRAM and task stacks?
Regards.
Ramazan