来源 | 瑞萨嵌入式小百科
以前要想使用某些协议栈、软件库,比如RTOS、FatFS、LWIP等,需要手动一步一步移植,花费了十天半个月,最后还不一定能成功跑通。
而现在的软件工具越来越丰富了,快速上手某个协议栈非常方便了,基本上只需要动动鼠标点一点就能成功移植,而且完成可运行的工程。
今天就来结合瑞萨RA8单片机,以及配套的e²studio工具,教大家10分钟在MCU上快速部署LWIP。
一.创建项目

在e²studio中创建一个新的FSP项目(File->New->Renesas FSP Project)。
选择正确的板卡型号(CPKEXP-EKRA8X1)和MCU型号(R7FA8D1BHECBD)。
在项目配置中,选择FreeRTOS作为您的实时操作系统(RTOS)。
选择编译器为LLVM for ARM,调试器为JLINK
二.配置以太网引脚

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

三.配置FSP堆栈

在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中需要修改的。


四.关键代码实现
(lwIP初始化和应用任务)

网络接口配置(FSP配置)
在FSP配置界面中,设置网络的IP地址、网关、子网掩码(或启用DHCP客户端)。这些设置通常在configuration.xml或生成的头文件中定义。
主程序(net_thread_entry.c)
初始化系统和启动网络任务。

应用任务示例
实现一个简单的TCP Echo Server任务:

五.编译和运行

点击e²studio的"Generate Project Content"按钮,生成FSP相关的底层驱动代码。
编译项目。
将程序烧录到CPKEXP-EKRA8X1开发板。
使用网络调试助手连接开发板的IP地址和配置的端口(例如5001),进行TCP通信测试。

完整程序

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

makeWorks/RA8D-EXAMPLES
https://gitee.com/makeWorks/ra8d-examples
------------ END ------------

在1 GHz 主频单片机上部署AI模型

单片机选项字节在IAR、CS+、e²studio下的设置
909

被折叠的 条评论
为什么被折叠?



