RA MCU众测宝典 | 在RA MCU上快速部署LWIP——以CPKCOR-RA8D1为例

描述

 

文章引用:电子发烧友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摄像头接口和以太网接口就有复用,使用时请注意将以太网信号跳线全部连上,且不要在扩展板上安装摄像头


 

LwIP


 

三.配置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中需要修改的。


 

LwIPLwIP


 


 

四.关键代码实现

(lwIP初始化和应用任务)

 

网络接口配置(FSP配置)

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


 

主程序(net_thread_entry.c)

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

LwIP


 

应用任务示例

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

LwIP


 

五.编译和运行

 

点击e²studio的"Generate Project Content"按钮,生成FSP相关的底层驱动代码。

编译项目。

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

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


 

LwIP


 

完整程序

 

完整程序请查看Gitee上的分享:(您可复制下方链接至浏览器,或扫描二维码进行查看)

makeWorks/RA8D-EXAMPLES

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

LwIP


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分