Part Number: CC1352P7
Hi
I am using an LP-CC1352P7-1.
I am trying to create a couple of threads in the code. All the threads get created except for one.
The thread which gets created in this:
void B_taskCreate(void)
{
pthread_t thread;
pthread_attr_t attrs;
struct sched_param priParam;
int retc;
/* Initialize the attributes structure with default values */
pthread_attr_init(&attrs);
/* Set priority, detach state, and stack size attributes */
priParam.sched_priority = 5;
retc = pthread_attr_setschedparam(&attrs, &priParam);
retc |= pthread_attr_setdetachstate(&attrs, PTHREAD_CREATE_DETACHED);
retc |= pthread_attr_setstacksize(&attrs, 1024);
if (retc != 0)
{
/* failed to set attributes */
while (1) {}
}
retc = pthread_create(&thread, &attrs, b_task, NULL);
if (retc != 0)
{
/* pthread_create() failed */
while (1) {}
}
retc = pthread_attr_destroy(&attrs);
}
The one that does not get created is the same code with a different priority and routine:
void a_taskCreate(void)
{
pthread_t thread;
pthread_attr_t attrs;
struct sched_param priParam;
int retc;
/* Initialize the attributes structure with default values */
pthread_attr_init(&attrs);
/* Set priority, detach state, and stack size attributes */
priParam.sched_priority = A_TASK_PRIORITY; //priority 3
retc = pthread_attr_setschedparam(&attrs, &priParam);
retc |= pthread_attr_setdetachstate(&attrs, PTHREAD_CREATE_DETACHED);
retc |= pthread_attr_setstacksize(&attrs, 1024);
if (retc != 0)
{
/* failed to set attributes */
while (1) {}
}
retc = pthread_create(&thread, &attrs, a_task, NULL);
if (retc != 0)
{
/* pthread_create() failed */
while (1) {}
}
retc = pthread_attr_destroy(&attrs);
}
In the above code (one where thread is not created), the return value of the following line is 22:
retc = pthread_attr_setschedparam(&attrs, &priParam);
What could be the reason for this and how do I correct it?
Regards