MPC5748G笔记 以太网 LwIP

文章目录

    • 前言
    • ENET简介
    • 新建工程
    • PE配置
    • 代码简析
    • 调试运行
    • 微信公众号

前言

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笔记 以太网 LwIP_第1张图片
按手册所言, 两片MPC5748G可以直接通过ENET接口相连, 不需要外部的PHY.

官方的DEVKIT-MPC5748G板子上ENET0的RMII接口通过百兆PHY芯片KSZ8081到RJ45接口:
MPC5748G笔记 以太网 LwIP_第2张图片
下面来看一下官方的lwip_mpc5748g demo.

新建工程

这里选择从例子新建工程:
MPC5748G笔记 以太网 LwIP_第3张图片
选择lwip_mpc5748g的例子, 工程名可以任取, 点击Finish结束: MPC5748G笔记 以太网 LwIP_第4张图片

PE配置

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

MPC5748G笔记 以太网 LwIP_第8张图片
上图IP网络默认勾选了ICMP, 这个ping要用到的.

MPC5748G笔记 以太网 LwIP_第9张图片
上图勾选了TCP和UDP, 这就是操作系统优势所在.

MPC5748G笔记 以太网 LwIP_第10张图片
上图Netconn API是操作系统独有的, 选了HTTPD, TCP_ECHO, UDP_ECHO三个应用, Raw API是裸奔也可以用的.

MPC5748G笔记 以太网 LwIP_第11张图片
MPC5748G笔记 以太网 LwIP_第12张图片
还要注意时钟的配置:
MPC5748G笔记 以太网 LwIP_第13张图片
FreeRTOS的配置:
MPC5748G笔记 以太网 LwIP_第14张图片
点击生成代码:
MPC5748G笔记 以太网 LwIP_第15张图片

代码简析

main.c在platform_init初始化(clcok, pin)之后, 直接调用start_example函数:
MPC5748G笔记 以太网 LwIP_第16张图片
使用了FREERTOS, 创建mainLoopTask任务, 直接进入任务调度:
MPC5748G笔记 以太网 LwIP_第17张图片
之后就是lwip初始化, app的初始化和调度了.
MPC5748G笔记 以太网 LwIP_第18张图片
其中的apps_init里面就是PE里勾选的应用的初始化. 工程的目录结构如下:
MPC5748G笔记 以太网 LwIP_第19张图片

调试运行

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

微信公众号

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

你可能感兴趣的:(MPC5748G)