MPC5748G笔记 以太网 LwIP

前言

MPC5748G开发环境搭建
MPC5748G S32_SDK_PA_RTM_3.0.0 GPIO 调试仿真设置
MPC5748G SDK 定时器 timing_pal
MPC5748G UART uart_pal
MPC5748G笔记 CAN can_pal

前几篇讲了开发环境的搭建, GPIO的读写操作, 调试仿真的设置, 定时器的使用, 串口的使用, CAN的收发等, 本篇介绍下以太网LWIP.

ENET简介

MPC5748G带两个ENET接口:
在这里插入图片描述
按手册所言, 两片MPC5748G可以直接通过ENET接口相连, 不需要外部的PHY.

官方的DEVKIT-MPC5748G板子上ENET0的RMII接口通过百兆PHY芯片KSZ8081到RJ45接口:
在这里插入图片描述
下面来看一下官方的lwip_mpc5748g demo.

新建工程

这里选择从例子新建工程:
在这里插入图片描述
选择lwip_mpc5748g的例子, 工程名可以任取, 点击Finish结束: 在这里插入图片描述

PE配置

ENET接口:
在这里插入图片描述
Components Library 中的 tcpip 组件的配置:
在这里插入图片描述
上图可以看到勾选了ENET0, IP设置为192.168.0.200, 用了FreeRTOS, 以太网TCP/UDP之类的功能繁杂, 这时候上操作系统是很好的选择, 如果只是单一的用UDP之类的话, 裸奔也没有问题的, 参考之前的文章 S32K148----SDK笔记----LwIP以太网测试 .
在这里插入图片描述
上图中选用RMII接口, 速率百兆.

在这里插入图片描述
上图IP网络默认勾选了ICMP, 这个ping要用到的.

在这里插入图片描述
上图勾选了TCP和UDP, 这就是操作系统优势所在.

在这里插入图片描述
上图Netconn API是操作系统独有的, 选了HTTPD, TCP_ECHO, UDP_ECHO三个应用, Raw API是裸奔也可以用的.

在这里插入图片描述
在这里插入图片描述
还要注意时钟的配置:
在这里插入图片描述
FreeRTOS的配置:
在这里插入图片描述
点击生成代码:
在这里插入图片描述

代码简析

main.c在platform_init初始化(clcok, pin)之后, 直接调用start_example函数:
在这里插入图片描述
使用了FREERTOS, 创建mainLoopTask任务, 直接进入任务调度:
在这里插入图片描述
之后就是lwip初始化, app的初始化和调度了.
在这里插入图片描述
其中的apps_init里面就是PE里勾选的应用的初始化. 工程的目录结构如下:
在这里插入图片描述

调试运行

除了Debugger选择OpenSDA, 还可以在OS Awareness中选择FreeRTOS:
在这里插入图片描述
运行前, 先拿网线连接板子的以太网接口到电脑上, 电脑的IP设置如下:
在这里插入图片描述
运行后, 可以ping一下192.168.0.200:
在这里插入图片描述
使用网络调试工具进行UDP回传测试:
在这里插入图片描述
TCP的回传测试:
在这里插入图片描述
均符合预期, 更多用法参考代码.

微信公众号

欢迎扫描关注我的微信公众号, 及时获取最新文章:
在这里插入图片描述

发布了203 篇原创文章 · 获赞 105 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/weifengdq/article/details/104011527
今日推荐