why the mainLoopTask gone while run the lwip_FreeRTOS_s32k396 project for half an hour

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

why the mainLoopTask gone while run the lwip_FreeRTOS_s32k396 project for half an hour

219 次查看
zhangzhixing
Contributor III

why the mainLoopTask gone while run the lwip_FreeRTOS_s32k396 project for half an hour ,i import the profinet master control code and run the program ,got the below:the #1 task which is mainLoopTask  is missing.

zhangzhixing_0-1754126647621.png

 

static void mainLoopTask(void* pvParameters)
{
(void)pvParameters;

/* initialize lwIP stack, network interfaces and applications */
#if !NO_SYS
err_t err;
sys_sem_t init_sem;

#if defined (CPU_MPC5777C)|| defined (CPU_MPC5746R)
#ifdef PIT_0
#define PIT PIT_0
#endif
PIT->MCR &= (uint32_t)(~PIT_MCR_FRZ_MASK);/* stop the timer in debug workaround for compability on MPC5777C PIT timer*/
#endif

err = sys_sem_new(&init_sem, 0);
LWIP_ASSERT("failed to create init_sem", err == (err_t)ERR_OK);
LWIP_UNUSED_ARG(err);
tcpip_init(test_init, (void*)&init_sem);
/* we have to wait for initialization to finish before
* calling update_adapter()! */
(void)sys_sem_wait(&init_sem);
sys_sem_free(&init_sem);
#if (LWIP_SOCKET || LWIP_NETCONN) && LWIP_NETCONN_SEM_PER_THREAD
netconn_thread_init();
#endif
#else /* !NO_SYS */
sys_init();
lwip_init();
test_init(NULL);
#endif /* !NO_SYS */


#if LWIP_INIT_COMPLETE_CALLBACK
tcpip_init_complete_callback();
#endif /* LWIP_INIT_COMPLETE_CALLBACK */
// vJYBus_SetCyclicDataSize(4,4);
/* MAIN LOOP for driver update (and timers if NO_SYS) */
while (1) {
#if NO_SYS
/* handle timers (already done in tcpip.c when NO_SYS=0) */
sys_check_timeouts();
#else /* NO_SYS */
// sys_msleep(500);
// ucTestOut[0]++;
// ucTestOut[1]++;
// ucTestOut[2]++;
// ucTestOut[3]++;
// JYBus_WriteCylicData(ucTestOut, 4);

#endif /* NO_SYS */

#if defined(USING_RTD)
uint32 time_now = OsIf_GetMilliseconds();
#else /* USING_RTD */
uint32_t time_now = OSIF_GetMilliseconds();
#endif /* USING_RTD */
time_now = time_now / (double)1000;

/* If more than expected time passed during tests execution, shut down the stack */
if (time_now - start_time >= tests_timeout)
{
for(int i = 0 ; i < ETHIF_NUMBER ; i++)
{
ETHIF_SHUTDOWN(&network_interfaces[i]);
}

end_tcpip_execution(NULL);
}

}

#if (LWIP_SOCKET || LWIP_NETCONN) && LWIP_NETCONN_SEM_PER_THREAD
netconn_thread_cleanup();
#endif
/* release the network interfaces... */
for(int i = 0 ; i < ETHIF_NUMBER ; i++)
{
ETHIF_SHUTDOWN(&network_interfaces[i]);
}
}

标记 (1)
0 项奖励
回复
1 回复

191 次查看
PavelL
NXP Employee
NXP Employee

Hello @zhangzhixing ,

Please comment out the entire timeout section in the code, as I typically do when bringing up lwIP examples on various boards:

PavelL_0-1754295798109.png

The variable tests_timeout is set to 1200, which corresponds to 20 minutes. After this period, the code explicitly shuts down the Ethernet interfaces and calls end_tcpip_execution(NULL), which may internally terminate the mainLoopTask.

Best regards,

Pavel

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2145654%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E8%BF%90%E8%A1%8C%20lwip_FreeRTOS_s32k396%20%E9%A1%B9%E7%9B%AE%E5%8D%8A%E5%B0%8F%E6%97%B6%E5%90%8E%EF%BC%8CmainLoopTask%20%E5%B0%B1%E4%B8%8D%E8%A7%81%E4%BA%86%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2145654%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%9C%A8%E8%BF%90%E8%A1%8C%20lwip_FreeRTOS_s32k396%20%E9%A1%B9%E7%9B%AE%E5%8D%8A%E5%B0%8F%E6%97%B6%E5%90%8E%EF%BC%8C%E6%88%91%E5%AF%BC%E5%85%A5%20profinet%20%E4%B8%BB%E6%8E%A7%E4%BB%A3%E7%A0%81%E5%B9%B6%E8%BF%90%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E7%BB%93%E6%9E%9C%E5%A6%82%E4%B8%8B%EF%BC%9A1%20%E5%8F%B7%E4%BB%BB%E5%8A%A1%EF%BC%88%E5%8D%B3%20mainLoopTask%EF%BC%89%E4%B8%8D%E8%A7%81%E4%BA%86%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22zhangzhixing_0-1754126647621.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22zhangzhixing_0-1754126647621.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F350689i73B7C85307341CD5%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22zhangzhixing_0-1754126647621.png%22%20alt%3D%22zhangzhixing_0-1754126647621.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Estatic%20void%20mainLoopTask(void*%20pvParameters)%3CBR%20%2F%3E%7B%3CBR%20%2F%3E(void)pvParameters%EF%BC%9B%3C%2FP%3E%3CP%3E%2F*%20%E5%88%9D%E5%A7%8B%E5%8C%96%20lwIP%20%E5%8D%8F%E8%AE%AE%E6%A0%88%E3%80%81%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E5%92%8C%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20*%2F%3CBR%20%2F%3E%23if%20!NO_SYS%3CBR%20%2F%3Eerr_t%20err%3B%3CBR%20%2F%3Esys_sem_t%20init_sem%EF%BC%9B%3C%2FP%3E%3CP%3E%23if%20defined%20(CPU_MPC5777C)%7C%7Cdefined%20(CPU_MPC5746R)%3CBR%20%2F%3E%23ifdef%20PIT_0%3CBR%20%2F%3E%23define%20PIT%20PIT_0%3CBR%20%2F%3E%23endif%3CBR%20%2F%3EPIT-%26gt%3BMCR%26amp%3B%3D%20(uint32_t)(~PIT_MCR_FRZ_MASK)%3B%2F*%20%E5%9C%A8%E8%B0%83%E8%AF%95%E5%B7%A5%E4%BD%9C%E4%B8%AD%E5%81%9C%E6%AD%A2%E5%AE%9A%E6%97%B6%E5%99%A8%EF%BC%8C%E4%BB%A5%E5%85%BC%E5%AE%B9%20MPC5777C%20PIT%20%E5%AE%9A%E6%97%B6%E5%99%A8*%2F%3CBR%20%2F%3E%23endif%3C%2FP%3E%3CP%3Eerr%20%3D%20sys_sem_new(%26amp%3Binit_sem%2C%200)%3B%3CBR%20%2F%3ELWIP_ASSERT(%22%E5%88%9B%E5%BB%BA%20init_sem%20%E5%A4%B1%E8%B4%A5%22%2C%20err%20%3D%3D%20(err_t)ERR_OK)%3B%3CBR%20%2F%3ELWIP_UNUSED_ARG(err)%EF%BC%9B%3CBR%20%2F%3Etcpip_init(test_init%2C%20(void*)%26amp%3Binit_sem)%3B%3CBR%20%2F%3E%2F*%20%E6%88%91%E4%BB%AC%E5%BF%85%E9%A1%BB%E7%AD%89%E5%BE%85%E5%88%9D%E5%A7%8B%E5%8C%96%E5%AE%8C%E6%88%90%E5%90%8E%E5%86%8D%E8%B0%83%E7%94%A8%3CBR%20%2F%3E*%20update_adapter()%EF%BC%81*%2F%3CBR%20%2F%3E(void)sys_sem_wait(%26amp%3Binit_sem)%3B%3CBR%20%2F%3Esys_sem_free(%26amp%3Binit_sem)%3B%3CBR%20%2F%3E%23if%20(LWIP_SOCKET%20%7C%7C%20LWIP_NETCONN)%26amp%3B%26amp%3B%20LWIP_NETCONN_SEM_PER_THREAD%3CBR%20%2F%3Enetconn_thread_init()%3B%3CBR%20%2F%3E%23endif%3CBR%20%2F%3E%23else%20%2F*%20%EF%BC%81NO_SYS%20*%2F%3CBR%20%2F%3Esys_init()%3B%3CBR%20%2F%3Elwip_init()%3B%3CBR%20%2F%3Etest_init(NULL)%3B%3CBR%20%2F%3E%23endif%20%2F*%20!NO_SYS%20*%2F%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%23if%20LWIP_INIT_COMPLETE_CALLBACK%3CBR%20%2F%3Etcpip_init_complete_callback()%3B%3CBR%20%2F%3E%23endif%20%2F*%20LWIP_INIT_COMPLETE_CALLBACK%20*%2F%3CBR%20%2F%3E%2F%2F%20vJYBus_SetCyclicDataSize(4%2C4)%EF%BC%9B%3CBR%20%2F%3E*%2F%3CBR%20%2F%3Ewhile%20(1)%20%7B%3CBR%20%2F%3E%23if%20NO_SYS%3CBR%20%2F%3E%2F*%20%E5%A4%84%E7%90%86%E5%AE%9A%E6%97%B6%E5%99%A8%EF%BC%88%E5%B7%B2%E5%9C%A8%20tcpip.c%E5%BD%93%20NO_SYS%3D0%20%E6%97%B6%EF%BC%89*%2F%3CBR%20%2F%3Esys_check_timeouts()%3B%3CBR%20%2F%3E%23else%20%2F*%20NO_SYS%20*%2F%3CBR%20%2F%3E%2F%2F%20sys_msleep(500)%3B%3CBR%20%2F%3E%2F%2F%20ucTestOut%5B0%5D%2B%2B%3B%3CBR%20%2F%3E%2F%2F%20ucTestOut%5B1%5D%2B%2B%3B%3CBR%20%2F%3E%2F%2F%20ucTestOut%5B2%5D%2B%2B%3B%3CBR%20%2F%3E%2F%2F%20ucTestOut%5B3%5D%2B%2B%3B%3CBR%20%2F%3E%2F%2F%20JYBus_WriteCylicData(ucTestOut%2C%204)%EF%BC%9B%3C%2FP%3E%3CP%3E%23endif%20%2F*%20NO_SYS%20*%2F%3C%2FP%3E%3CP%3E%23if%20defined(USING_RTD)%3CBR%20%2F%3Euint32%20time_now%20%3D%20OsIf_GetMilliseconds()%3B%3CBR%20%2F%3E%23else%20%2F*%20USING_RTD%20*%2F%3CBR%20%2F%3Euint32_t%20time_now%20%3D%20OSIF_GetMilliseconds()%3B%3CBR%20%2F%3E%23endif%20%2F*%20USING_RTD%20*%2F%3CBR%20%2F%3Etime_now%20%3D%20time_now%20%2F%20(double)1000%EF%BC%9B%3C%2FP%3E%3CP%3E%2F*%20%E5%A6%82%E6%9E%9C%E5%9C%A8%E6%B5%8B%E8%AF%95%E6%89%A7%E8%A1%8C%E6%9C%9F%E9%97%B4%E7%BB%8F%E8%BF%87%E7%9A%84%E6%97%B6%E9%97%B4%E8%B6%85%E8%BF%87%E9%A2%84%E6%9C%9F%EF%BC%8C%E5%88%99%E5%85%B3%E9%97%AD%E5%A0%86%E6%A0%88%20*%2F%3CBR%20%2F%3Eif%20(time_now%20-%20start_time%26gt%3B%3D%20tests_timeout)%3CBR%20%2F%3E%7B%3CBR%20%2F%3Efor(int%20i%20%3D%200%20%3B%20i%26lt%3B%20ETHIF_NUMBER%20%3B%20i%2B%2B)%3CBR%20%2F%3E%7B%3CBR%20%2F%3EETHIF_SHUTDOWN(%26amp%3Bnetwork_interfaces%5Bi%5D)%3B%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3Eend_tcpip_execution(NULL)%3B%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%23if%20(LWIP_SOCKET%20%7C%7C%20LWIP_NETCONN)%20%26amp%3B%20%26amp%3B%20LW%20%3CBR%20%2F%3E%20IP_NETCONN_SEM_PER_THREAD%20netconn_THREAD%20netconn_thread%20netconn_thread%20netconn_thread%20()%3B%20%23endif%20%2F*%20%E7%89%88%E6%9C%AC%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3...%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E*%2F%20f%20%3CBR%20%2F%3E%20or%20(int%20i%20%3D%200%3B%20i%20%26lt%3B%20ETHIF_NUMBER%3B%20i%2B%2B)%20%3CBR%20%2F%3E%20%7BETHIF_SHUT%20%3CBR%20%2F%3E%20DOWN%20(%26amp%3B%20network_interfaces%20%5Bi%5D)%3B%7D%7D%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2146043%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20why%20the%20mainLoopTask%20gone%20while%20run%20the%20lwip_FreeRTOS_s32k396%20project%20for%20half%20an%20hour%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2146043%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F245816%22%20target%3D%22_blank%22%3E%40zhangzhixing%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E6%B3%A8%E9%87%8A%E6%8E%89%E4%BB%A3%E7%A0%81%E4%B8%AD%E7%9A%84%E6%95%B4%E4%B8%AA%E8%B6%85%E6%97%B6%E9%83%A8%E5%88%86%EF%BC%8C%E5%B0%B1%E5%83%8F%E6%88%91%E5%9C%A8%E5%90%84%E4%B8%AA%E6%9D%BF%E4%B8%8A%E6%8F%90%E5%87%BA%20LwIP%20%E7%A4%BA%E4%BE%8B%E6%97%B6%E9%80%9A%E5%B8%B8%E4%BC%9A%E5%81%9A%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3C!--ScriptorStartFragment--%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CDIV%20class%3D%22scriptor-paragraph%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22PavelL_0-1754295798109.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22PavelL_0-1754295798109.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F350779iFBF5D73F42D3C624%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22PavelL_0-1754295798109.png%22%20alt%3D%22PavelL_0-1754295798109.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%0A%3CP%3E%3CSPAN%3ET%3C%2FSPAN%3E%3CSPAN%3E%E5%8F%98%E9%87%8F%20%3C%2FSPAN%3E%3CSPAN%3E%E6%B5%8B%E8%AF%95%E8%B6%85%E6%97%B6%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3E%E8%AE%BE%E7%BD%AE%E4%B8%BA%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3E1200%3C%2FSPAN%3E%3CSPAN%3E%E7%9B%B8%E5%BD%93%E4%BA%8E%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3E20%20%E5%88%86%E9%92%9F%3C%2FSPAN%3E%3CSPAN%3E.%E5%9C%A8%E8%BF%99%E6%AE%B5%E6%97%B6%E9%97%B4%E4%B9%8B%E5%90%8E%EF%BC%8C%E4%BB%A3%E7%A0%81%E4%BC%9A%E6%98%8E%E7%A1%AE%E5%85%B3%E9%97%AD%E4%BB%A5%E5%A4%AA%E7%BD%91%E6%8E%A5%E5%8F%A3%EF%BC%8C%E5%B9%B6%E8%B0%83%E7%94%A8%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3Eend_tcpip_execution(NULL)%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%8C%E8%BF%99%E5%8F%AF%E8%83%BD%E4%BC%9A%E5%9C%A8%E5%86%85%E9%83%A8%E7%BB%88%E6%AD%A2%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3E%E4%B8%BB%E5%BE%AA%E7%8E%AF%E4%BB%BB%E5%8A%A1%3C%2FSPAN%3E%3CSPAN%3E.%3C%2FSPAN%3E%3C%2FP%3E%0A%3C%2FDIV%3E%0A%3CP%3E%E9%A1%BA%E7%A5%9D%E5%95%86%E7%A5%BA%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E5%B8%95%E7%BB%B4%E5%B0%94%3C%2FP%3E%3C%2FLINGO-BODY%3E