|
|
想着能在几个自己会用的操作系统切换,在原ThreadX工程增加CMSIS RTOS2 API接口。其中在创建任务过程一直失败,请帮忙分析。
使用:Thread_Task_start = osThreadNew(AppTaskStart, NULL, (const osThreadAttr_t *)&attr);创建任务;
osThreadNew调用:tx_thread_create(thread_ptr, name_ptr, (void(*)(ULONG))func, entry_input, stack_start, stack_size, priority,priority, RTOS2_DEFAULT_TIME_SLICE, TX_AUTO_START)来创建threadx任务;
tx_thread_create调用:#define tx_thread_create(t,n,e,i,s,l,p,r,c,a) _txe_thread_create((t),(n),(e),(i),(s),(l),(p),(r),(c),(a),(sizeof(TX_THREAD)))
仿真进入_txe_thread_create((t),(n),(e),(i),(s),(l),(p),(r),(c),(a),(sizeof(TX_THREAD)))函数,其传入sizeof(TX_THREAD)的值同函数里sizeof(TX_THREAD)值不一致,为什么?
没套CMSIS RTOS2封装API时,创建任务是成功的。请帮忙分析。。。
|
|