2018-08-02 10:38 AM
When I migrated my project, the Middleware LwIP was grayed out so I could not include LwIP. When I generated code, there were no LwIP files. I looked in the CubeH7 repository and the LwIP files are there. Short of copying LwIP from the repository, how do I enable LwIP in my CubeMX project?
2018-08-06 12:25 PM
This is not an answer, just an update.
I have reinstalled STM32CubeMX V4.26.1 and CubeH7 V1.3.0 and I still do not have LwIP available for my project. I need to get STM32CubeMX V4.24 or STM32CubeMX V4.25 so I can go back to CubeH7 V1.2.0 that works. I cannot find older version on the ST web site. How do I get an older version of STM32CubeMX?
2018-08-06 01:23 PM
Check to make sure you have an appropriate ETH pinset assigned such as RMII. If not CubeMX is smart enough to know that LWIP is moot without the peripheral hardware support.
2018-08-07 04:58 AM
I update CubeMX using the CubeMX Check for updates, so I don't know if or where the update file is downloaded and if it is kept after the upgrade.
I found the cause and solution of no LwIP available in V4.26.1. It is a mostly undocumented change to CubeMX. In the Pinout tab LwIP and its Enable box are grayed out, but it has no yellow '!' icon or red 'X' icon to indicate why. If you hover over the LwIP word, you will get an information box stating something like "STM32H7, Cortex-M7 CPUs must enable the DCache to include LwIP". This is done in the Configuration Tab, Cortex_M7 configuration in the System list of devices. There is no explaination of why the DCache needs to be enabled, but I suspect it is because CubeMX places DCache maintenance instructions in the driver, and if the DCache is disabled, this causes a fault when executed. This should be better documented in the release notes.