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