本文主要是介绍基于CH32V307的FreeRTOS+LwIP 移植使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2022/11/16
看网上关于在沁恒ch32V307上移植LwIP的demo比较稀缺,自己就参考着官方的例程和老衲五木的博客移植一份带RTOS的LwIP和裸机LwIP,代码链接放如下,使用MounRiver打开,可以直接在沁恒官方的赤兔开发板上使用。
裸机lwIP https://github.com/xye038/CH32V307_lwIP-1.41
FreeRTOS lwIP https://github.com/xye038/CH32V307_lwIP-1.41_FreeRTOS
由于本人小白刚刚接触lwIP协议栈,移植过程很复杂,也踩了很多坑,其中还有很多不理解的地方,代码中可能会有很多bug。例程中直接修改了官方提供的my_eth_driver.c和FreeRTOS例程,同时也在官方论坛上寻求了很多的帮助。
目前只实现了一些很简单的例程,重连机制的TCP-Client(RAW-API)和TCP-echo-Sever (NETCONN API) 。后期会在github上慢慢更新,争取支持更多功能。
希望大家在应用的时候遇到问题后,可以在本帖下面留言,共同学习共同进步!!!
2023/1/11更
在使用过程中发现当ETH网口瞬时数据量过大,比如瞬时发送大量数据会进入hardfault,或者当mcu要发送大量数据时会有些bug出现,建议调大 ETH_RXBUFNB 和 ETH_TXBUFNB 的值,当然小数据量可以不用。
这篇关于基于CH32V307的FreeRTOS+LwIP 移植使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!