10分钟在MCU上快速部署LWIP

strongerHuang 2025-12-18 08:00

来源 | 瑞萨嵌入式小百科


以前要想使用某些协议栈、软件库,比如RTOS、FatFS、LWIP等,需要手动一步一步移植,花费了十天半个月,最后还不一定能成功跑通。


而现在的软件工具越来越丰富了,快速上手某个协议栈非常方便了,基本上只需要动动鼠标点一点就能成功移植,而且完成可运行的工程。


今天就来结合瑞萨RA8单片机,以及配套的e²studio工具,教大家10分钟在MCU上快速部署LWIP。


一.创建项目

10分钟在MCU上快速部署LWIP图1
  • 在e²studio中创建一个新的FSP项目(File->New->Renesas FSP Project)。

  • 选择正确的板卡型号(CPKEXP-EKRA8X1)和MCU型号(R7FA8D1BHECBD)。

  • 在项目配置中,选择FreeRTOS作为您的实时操作系统(RTOS)。

  • 选择编译器为LLVM for ARM,调试器为JLINK


二.配置以太网引脚

10分钟在MCU上快速部署LWIP图2
  • 扩展板上有一个百兆以太网接口,使用的PHY是LAN8720I,RMII接口。

  • 由于RA8D1 MCU的设计限制,使用了SDRAM后,CEU摄像头接口和以太网接口就有复用,使用时请注意将以太网信号跳线全部连上,且不要在扩展板上安装摄像头


10分钟在MCU上快速部署LWIP图3


三.配置FSP堆栈

10分钟在MCU上快速部署LWIP图4

在e²studio的"Stacks"选项卡中,您需要添加和配置必要的模块:


  • 添加FreeRTOS内核:确保FreeRTOS->FreeRTOS(或者FreeRTOS->FreeRTOS(with tickless idle))模块已添加。

  • 添加Ethernet驱动:添加Connectivity->Ethernet(e²studio)模块(确保其配置正确,通常FSP会自动处理大部分底层引脚和时钟配置)。

  • 添加lwIP核心:瑞萨FSP不直接提供独立的lwIP栈,而是集成了FreeRTOS+TCP或使用其lwIP移植层。您可以添加Connectivity->FreeRTOS+TCP或类似的模块。


Tips

如果您必须使用纯lwIP,您可能需要手动集成lwIP源代码并使用rm_lwip_sys_freertos移植层,这通常涉及将lwipopts.h文件配置为使用操作系统(NO_SYS宏定义为0)并实现sys_arch.c中的系统级接口(信号量、邮箱/消息队列等)。


默认LwIP的属性里面的参数是需要修改的,一般不能直接使用,在Common->Infrastructure->Heap and momory pools和Threading中需要修改的。


10分钟在MCU上快速部署LWIP图5
10分钟在MCU上快速部署LWIP图6



四.关键代码实现

(lwIP初始化和应用任务)

10分钟在MCU上快速部署LWIP图7
  • 网络接口配置(FSP配置)

    在FSP配置界面中,设置网络的IP地址、网关、子网掩码(或启用DHCP客户端)。这些设置通常在configuration.xml或生成的头文件中定义。


  • 主程序(net_thread_entry.c)

    初始化系统和启动网络任务。

10分钟在MCU上快速部署LWIP图8


  • 应用任务示例

    实现一个简单的TCP Echo Server任务:

10分钟在MCU上快速部署LWIP图9


五.编译和运行

10分钟在MCU上快速部署LWIP图10
  • 点击e²studio的"Generate Project Content"按钮,生成FSP相关的底层驱动代码。

  • 编译项目。

  • 将程序烧录到CPKEXP-EKRA8X1开发板。

  • 使用网络调试助手连接开发板的IP地址和配置的端口(例如5001),进行TCP通信测试。


10分钟在MCU上快速部署LWIP图11


完整程序

10分钟在MCU上快速部署LWIP图12

完整程序请查看Gitee上的分享:

10分钟在MCU上快速部署LWIP图13


makeWorks/RA8D-EXAMPLES

https://gitee.com/makeWorks/ra8d-examples


------------ END ------------



声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
IP MCU
more
业界首例!TI 已量产的低功耗Bluetooth® 6.0无线 MCU 通过蓝牙信道探测官方认证
一文说透:CPU、SoC、MCU什么区别
MCU硬件和软件延时是啥意思?
MCU的AI竞赛,已经打响
抢滩AI MCU增量市场,君正新品有何杀手锏成破局关键
中国“芯”再突破!22nm高端车规MCU率先量产,抢跑下一代区域控制器市场
国产汽车MCU量产上车,芯钛科技完成C+轮融资|早起看早期
瑞萨RA8M2 MCU架构与应用场景全景图
芯片分类以及国内核心代表厂家(CPU/GPU/MCU/FPGA/TPU/NPU)
充电桩模块主控 MCU 芯片深度盘点,主流型号、性能参数一次理清,选型不迷路!
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号