Part Number: TDA4VM
Tool/software:
Hi,
I'm trying the create a simple c++ queue in the parent task and spawning a new task from the parent task and trying to access the values present in the queue (I signal the new task about new values using semaphoreP), but in the new task whenever I read the front value of the queue it is always null / 0.
I'm not sure is it something to do with any stack align issue when I create task for c66x core.
When I try printing the values of queue in the same parent task it is printing properly.
Stack buffer for parent task:
static uint8_t gTskStackMain[256*1024]
__attribute__ ((section(".custom_stack")))
__attribute__ ((aligned(1024))) //tried 8192 as well
;
stack buffer for child(New) task:
static uint8_t gTskStackCmdQue[64*1024]
__attribute__ ((section(".custom_stack")))
__attribute__ ((aligned(1024))) //tried 8192 as well
;
Similar issue I faced when I tested for C7x core and after aligning the task buffer to 8192 it started working.
Could someone lend light on this issue?
I tried without alignment and increasing the size of the buffers still same behavior.
For C7x core, same code is working with below configuration:
stack buffer for child(New) task:
static uint8_t gTskStackCmdQue[8*8192]
__attribute__ ((section(".bss:taskStackSection")))
__attribute__ ((aligned(8192)))
;
Stack buffer for parent task:
static uint8_t gTskStackMain[64*1024]
__attribute__ ((section(".bss:taskStackSection")))
__attribute__ ((aligned(8192)))
;
Details of the work env:
TDA4VM
FreeRTOS: Testing in c66x core
SDK:9.2