zephyr thread

Florian Fouillet <Florian.Fouillet@...>

Hi everyone,


I am currently working on the Zephyr OS with a FDRM_K64f board from NXP.


To create thread I was first using K_THREAD_DEFINE.


I want to create an abstraction layer if I need to use different OS (a platform with generic definition for thread) so I won't have to modify the source code.


Since I can't call K_THREAD_DEFINE inside a function (I was ending up with an error). I am trying to use k_thread_create.


It's working when I create 1 thread but I have error as soon as I am trying to create multiple one.


Here for example I am creating 2 threads:


struct k_thread thread1 ;

k_thread_stack_t threadStack1 ;


struct k_thread thread2 ;

k_thread_stack_t threadStack2 ;



k_thread_create(&thread1, & threadStack1, 1024, (void*)DL_StateMachine_ModeHandler, NULL, NULL, NULL, 7, 0, K_NO_WAIT);

k_thread_create(&thread2, & threadStack2, 1024, (void*)DL_StateMachine_MsgHandler, NULL, NULL, NULL, 7, 0, K_NO_WAIT);



it compiles but then when I am trying to execute it I have the following issue:





Does anyone know how to correctly use the k_thread_create? My other question is, what’s k_thread_stack_t and what to do with it?



Thank you,





Join devel@lists.zephyrproject.org to automatically receive all group messages.