文章引用:电子发烧友makeWorks
在上一篇文章中我们分享了在RA上快速部署LVGL的案例,但是FSP丰富强大的功能还远不止于此,除了LVGL,LWIP也早已被FSP纳入自身的功能中间件中,可以在FSP上进行快捷的部署,我们来看一看下面这个例程的分享吧。
一.创建项目
在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

全部0条评论
快来发表一下你的评论吧 !