2018-01-04 03:09 AM
Hello.
I have a simple SW4STM32 project just using FreeRTOS and LwIP on NUCLEO-H743ZI.
Initialize UDP in a task with:
struct netconn *conn_udp;
conn_udp = netconn_new(NETCONN_UDP);
FreeRTOS hangs forever in portmacro.h:
portFORCE_INLINE static void vPortRaiseBASEPRI( void )
{uint32_t ulNewBASEPRI;__asm volatile
( ' mov %0, %1 \n' \ ' cpsid i \n' \ ' msr basepri, %0 \n' \ ' isb \n' \ ' dsb \n' \ ' cpsie i \n' \ :'=r' (ulNewBASEPRI) : 'i' ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) );}.data/.bss are in D1 domain, ETH Descriptors are in D2 domain, RMII GPIO Pins corrected,
no DCACHE ( //SCB_CleanInvalidateDCache(); in ethernetif.c ), MPU is configured
I had so many 'Hard Faults' during MX_LWIP_Init(); in a similar project, concerning FreeRTOS (semaphores, mutexes)
My advice: Do not use CubeMX 4.23.0 with NUCLEO-H743ZI or you love to kill time.
PS: I can provide the project files if someone is interested.
Solved! Go to Solution.
2018-01-08 02:20 PM
This my bad.
I guess I converted a NO_SYS project into RTOS.
In MX_LWIP_Init() was a
/* Initilialize the LwIP stack without RTOS */
lwip_init();but it must be
/* Initilialize the LwIP stack with RTOS */
tcpip_init( NULL, NULL );Sorry.
2018-01-08 02:20 PM
This my bad.
I guess I converted a NO_SYS project into RTOS.
In MX_LWIP_Init() was a
/* Initilialize the LwIP stack without RTOS */
lwip_init();but it must be
/* Initilialize the LwIP stack with RTOS */
tcpip_init( NULL, NULL );Sorry.