TI_demo_E2E / data2 /json /DLP /1035356.json
arjun.a
data2 push
4a33762
raw
history blame
2.48 kB
{
"ticketNumber" : "1035356",
"reporterName" : "Joe Hsien",
"rankPoints" : "220",
"resolutionStatus" : "",
"ticketName" : "TDA2EXEVM: TDA2 DSP2 XDC ASSERT",
"rankName" : "Prodigy",
"replies" : "",
"views" : "",
"queryText" : "Part Number: TDA2EXEVM Other Parts Discussed in Thread: SYSBIOS We run our algorithm on DSP2. Sometimes DSP2 will have XDC Assert message and then DSP2 will crash. How can we solve it? Log: [DSP2 ] 11173.232111 s: ### XDC ASSERT - ERROR CALLBACK START ### [DSP2 ] 11173.232141 s: [DSP2 ] 11173.232202 s: assertion failure: A_badContext: bad calling context. See GateMutex API doc for details. [DSP2 ] 11173.232233 s: [DSP2 ] 11173.232233 s: ### XDC ASSERT - ERROR CALLBACK END ###",
"imageList" : null,
"partNumber" : "NA",
"allResponseList" : [ {
"contentId" : "",
"userName" : "Joe Hsien",
"rankPoints" : "220",
"rankName" : "Prodigy",
"date" : "",
"userId" : "/members/5203556",
"content" : "Have any update?",
"imageList" : null
}, {
"contentId" : "",
"userName" : "Stanley Liu",
"rankPoints" : "50045",
"rankName" : "TI__Guru",
"date" : "",
"userId" : "/members/22243",
"content" : "Hi, Please refer to BIOS API doc for GateMutex. Or, you can find the source under ~/bios_6_46_06_00/packages/ti/sysbios/gates/GateMutex.c. You are hitting the below error where GateMutex_enter() is called in HWI or SWI context. /*\r\n * ======== GateMutex_enter ========\r\n * Returns FIRST_ENTER when it gets the gate, returns NESTED_ENTER\r\n * on nested calls.\r\n *\r\n * During startup, Task_self returns NULL. So all calls to the \r\n * GateMutex_enter look like it is a nested call, so nothing done.\r\n * Then the leave's will do nothing either. \r\n */\r\nIArg GateMutex_enter(GateMutex_Object *obj)\r\n{\r\n Semaphore_Handle sem;\r\n\r\n /* make sure we're not calling from Hwi or Swi context */\r\n Assert_isTrue(((BIOS_getThreadType() == BIOS_ThreadType_Task) ||\r\n (BIOS_getThreadType() == BIOS_ThreadType_Main)),\r\n GateMutex_A_badContext);\r\n\r\n if (obj->owner != Task_self()) {\r\n sem = GateMutex_Instance_State_sem(obj);\r\n Semaphore_pend(sem, BIOS_WAIT_FOREVER);\r\n\r\n obj->owner = Task_self();\r\n\r\n return (FIRST_ENTER);\r\n }\r\n\r\n return (NESTED_ENTER);\r\n} Regards, Stanley",
"imageList" : null
} ],
"tags" : [ ],
"fourmType" : "processors-forum"
}