LwIP PPPoS 库之间有什么区别?我应该使用哪一个,STM32CubeMX 给出的还是示例基于的?

What is the difference between LwIP PPPoS libraries? Which one should I use, that the STM32CubeMX gives or that the examples based on?

当我使用STM32CubeMX时,它给我的来源如下: https://github.com/tabascoeye/lwip/blob/master/src/netif/ppp/pppos.c
具有函数 pppos_create(..)、pppos_input(..)、ppp_connect(..)

当我查看 1 年前创建的示例时,它使用如下:
https://github.com/bosch-ros-pkg/stm32/blob/master/src/transport/lwip/src/netif/ppp/ppp.c
带有函数 pppInit(), pppOverSerialOpen(..).

由于文件位置(...stm32/blob/master...),最后一个库似乎专门用于 STM32。你有什么感觉和我的相似吗? 我已经看到 http://lwip.wikia.com/wiki/PPP 也使用了最后一个来源。我应该使用哪一个?

CubeMx 使用库的抽象。它与 FreeRTOS 相同(创建新任务是使​​用 osThreadCreate() 而不是 xTaskCreate())。

我不知道 Lwip,但是使用 FreeRTOS 可以通过包含好的 headers 使用真实的库,因为真实的和 CubeMx 版本都会生成。所以可以用真正的效率更高的。

如果你使用CubeMx,我推荐使用CubeMx提供的功能。由于 CubeMx 已经使用这些函数生成了大量 LWIP 初始化,如果您也使用它们,代码会更清晰,也会更简单。