В чем разница между библиотеками LwIP PPPoS? Какой из них я должен использовать, который дает STM32CubeMX или который основан на примерах?

Когда я использую 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 из-за расположения файла (...stm32/blob/master...). У тебя какой-то смысл всплывает, как у меня? Я видел, что http://lwip.wikia.com/wiki/PPP использует последний источник также. Какой из них я должен использовать?


person Sarp Engin Daltaban    schedule 15.05.2018    source источник


Ответы (1)


CubeMx использует абстракцию над библиотеками. То же самое происходит с FreeRTOS (создание новой задачи осуществляется с помощью osThreadCreate() вместо xTaskCreate()).

Я не знаю о Lwip, но с FreeRTOS можно использовать настоящую библиотеку, включив хорошие заголовки, потому что генерируются и реальная, и версия CubeMx. Так что можно использовать настоящий, более эффективный.

Если вы используете CubeMx, я рекомендую использовать функции, которые дает CubeMx. Поскольку CubeMx уже генерирует большую часть инициализации LWIP с этими функциями, код будет чище, если вы их тоже используете, а также будет намного проще.

person MasterRem    schedule 26.06.2018