I am embarking upon my first STM32 embedded system design. The software choices are, well, a lot... I have been playing with both uVision and STM32CubeIDE based projects as a learning exercise using a Nucleo-F439ZI because the product will have an ethernet interface. It will use a RTOS because there is a lot going on and it has to support multiple network protocols (e.g. Modbus TCP, telnet, etc) so there will be a lot of threads (tasks).
I started with a uVision project using STM32CubeMX to only configure the GPIO ports and provide some init code. I have been unable to get LwIP up and running. There's some disconnect between the library and the hardware drivers (I think some task that is supposed to be automatically started isn't running although the tcpip_thread is running - something hidden in the magic of the run-time tool configured library components that I can't find).
So I switched to a pure STM32CubeIDE based project and had success. I have the LwIP stack up. I'm running the CMSIS-RTOS v2 API on top of FreeRTOS. Mostly because I have a lot of experience with FreeRTOS. I have no experience with LwIP.
I also see that ST Microelectronics has partnered with Microsoft and offers an integration of their ThreadX/NetX package within the STMCube32 environment.
Of course I did a lot of internet searches as I got all this code running and I read a lot of horror stories about LwIP. Especially when trying to use it for more complicated systems that might have more than one networking protocol running in different threads. Including a topic on the ST community forum talking about how horribly broken networking was in their various libraries.
It makes me wonder if I should bite the bullet now (before I've written too much code) and move over to ThreadX/NetX. I don't know about NetX but I know ThreadX is a mature product that's been used for a lot of embedded systems.
It's always hard to know how much of what one reads online to believe. So I'm just seeing if anyone here has any experience with these software stacks and their reliability. This is an actual development effort, not just a hobby project.
Thanks in advance.