文章目录

  • 前言
  • 建立工程
  • ProcessorExpert配置
  • 补全代码
  • 调试运行
  • 工程代码
  • 微信公众号

前言

S32K148含字母E或者J的有以太网, 如FS32K148UJ, 使用RMII接口连接PHY芯片, 官方的开发板带的PHY是TJA1101, 车载以太网, 传输使用两根线而不是标准4根线的百兆以太网, 这里我们还是用传统的方式来测试, 外接的是KSZ8041PHY, 代码方面可以说没有差别, 某宝淘的板子, 链接:

引脚的具体连接参考下面的ENET的配置, S32K外接8M晶振, PHY接的是50M的有源晶振, 官方例程用的是FreeRTOS下的LwIP, 多线程自然好, 这里简单点, 直接用RAW API做裸奔的UDP_Echo测试.

建立工程

步骤:

  • File -> New -> S32DS Application Project
  • Processors 选择 S32K148, Project Name 填你自己的工程名
  • Select SDK: SDKs 选择 S32K148_SDK 3.0.0, Debugger选择J-Link, Finish.

ProcessorExpert配置

双击工程名, 点击Components窗口Components目录下的 pin_mux:PinSetting, ENET配置:

Component Library中双击添加tcpip组件:

tcpip General的配置, 没有选FreeRTOS, 自动默认Baremetal:

Data Link的配置, RMII, 100, 勾选ARP Queueing:

IP Network配置, 默认不改, 注意下IP是192.168.0.200, ICMP不能少, 我们ping要用到:

Transport里面, 我们这里只用UDP, 去掉TCP的勾选:

Applications里面, 只勾选UDP_ECHO, 去掉LWIPERF(默认用到TCP, 可以配合 Jperf 之类的软件测网络性能) :

Memory Options默认不改或者Memory heap size改为官方例程的16384:

tcpip组件的配置就到这里, 接下来重点要配置 clodkMan1:clock_manager:

这里相对默认的改动比较多, 可以参考官方的lwip例程的时钟配置.

点击生成代码:

补全代码

main.c中:

/* User includes (#include below this line is not maintained by Processor Expert) */
#include "clockMan1.h"
#include "pin_mux.h"extern void start_example(void);//===================================================/* For example: for(;;) { } */CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT,g_clockManCallbacksArr, (uint8_t)CLOCK_MANAGER_CALLBACK_CNT);CLOCK_SYS_UpdateConfiguration(0U, CLOCK_MANAGER_POLICY_FORCIBLE);PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr);start_example();

在 SDK/middleware/tcpip/tcpip_stack/demo/test.c 中:

  • start_example(); 直接调用了 mainLoopTask(NULL);
  • mainLoopTask 中初始化网络和app, 就直接进入常见的while网络接口轮询 (void)enet_poll_interface(&netif);

所以test.c不用修改, 所有工作都默认做好了.

SDK/middleware/tcpip/tcpip_stack/apps/udpecho_raw/udp_echo_raw.c就是实现的UDP Echo功能:

  • 初始化中绑定的是端口7: err = udp_bind(udpecho_raw_pcb, IP_ANY_TYPE, 7);
  • 初始化声明的接收回调函数 udp_recv(udpecho_raw_pcb, udpecho_raw_recv, NULL);
  • 接收回调函数 static void udpecho_raw_recv(void *arg, struct udp_pcb *upcb, struct pbuf *p,const ip_addr_t *addr, u16_t port) 中直接把接收到的原封不动的还回去: udp_sendto(upcb, p, addr, port);

需要改UDP相关的app就可以在这个文件或者在udpecho_raw文件夹里面新添文件. 有初始化的就放到test.c的static void apps_init(void) 中去, 这里我们不改动.

调试运行

连接网线到笔记本, 笔记本禁用WiFi, 以太网IPV4配置:

我们先ping一下 192.168.0.200, 可以ping通:

然后使用网络调试助手测试下UDP Echo:

由于udpecho_raw.c里面指定了接收的端口为7, 所以远程主机那里填 192.168.0.200:7 即可, 而回传的IP地址和端口是和接收的一样, 本地主机地址可以是192.168.0.x, 端口也可以随意一些.

工程代码

https://download.csdn.net/download/weifengdq/11926786

微信公众号

欢迎扫描二维码关注本人微信公众号, 及时获取或者发送给我最新消息:

S32K148----SDK笔记----LwIP以太网测试相关推荐

  1. ETH—Lwip以太网通信

    第39章     ETH-Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

  2. Aurix Tricore TC397使用LWIP协议栈测试以太网网速

    一.LWIP lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈.实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用. 链接地址:  ...

  3. 第39章 ETH—Lwip以太网通信—零死角玩转STM32-F429系列

    第39章     ETH-Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

  4. 第39章 ETH—Lwip以太网通信—零死角玩转STM32-F429系列

    第39章     ETH-Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

  5. [转载]Windows SDK笔记

    应程序需求需要重写窗体内子控件某一特定消息,可怜我苦苦找了二天也没找到资料,到CDSN提问也没有得到满意答案. 终归是上天不负有心人啊,终于被我发现了博主的一篇文章,总算是满意的解决问题了:在此感谢作 ...

  6. 《微软的软件测试之道》读书笔记 之 结构测试技术

    <微软的软件测试之道>读书笔记 之 结构测试技术 2014-07-18 我们需要结构测试吗? 微软的一项试验说明了结构测试的在代码覆盖中起到的效果: 超过3000名测试员参与了这项实验,每 ...

  7. 解读vs2003、vs2005、vs2008开发Windows CE环境、默认SDK开发包及测试

    文章来自http://swanmsg.blog.sohu.com/184427819.html 以前做过一些嵌入式开发,那么从以前做产品.做项目设计到嵌入式的开发,零碎时间累计到现在也有一年载已.本人 ...

  8. 《大师说栏目第一期》汽车以太网测试项那么多,到底该测啥呢?

    #<大师说>栏目上线啦# <大师说>栏目是怿星科技2023年推出的深度思考栏目,通过邀请内部专家,针对智能汽车行业发展.技术趋势等输出个性化的观点.每期一位大师,每位一个话题, ...

  9. 车载以太网测试:关于测试

    一.前言 本着相互帮助,共同进步的原则,邀请到北汇汽车电子测试部有着多年测试实战经验的老炮儿黄东风和大家聊聊车载以太网那些事! 黄总才思泉涌,洋洋洒洒写下从"关于测试"." ...

最新文章

  1. python datetime.datetime 当前_python之time和datetime的常用方法
  2. 解决Java compiler level does not match the version of the installed Java project facet.问题
  3. Verilog HDL语言设计计数器+加法器
  4. python画图颜色表示大小变化_Python matplotlib减少色条标签的大小
  5. spring基础--bean
  6. imageranger for Mac如何自定义过滤器选项
  7. excel 使用定位工具批量删除错误值
  8. FP-growth算法原理解析
  9. acrobat缺少字体 adobe_PDF 字体
  10. Unity XLua Hotfix热更新配置笔记
  11. 2021-2027全球与中国天然眼部卸妆产品市场现状及未来发展趋势
  12. 自然语言推理-文本蕴含识别简介
  13. angularjs 动态监控数据
  14. 正则表达式之数字验证
  15. 2021年小红书KOL营销白皮书
  16. 浅谈自然语言处理(NLP)和 自然语言理解(NLU)
  17. 笔记:《深入浅出统计学》第八、九章:概率密度、正态分布(高斯分布)
  18. 多标签分类、BCELoss和BCEWithLogitsLoss用法
  19. 最常用的 Linux 命令都不会,你怎么敢去面试?
  20. day 6 homework

热门文章

  1. 【重磅】国家数据局加商务分析师新职业,个人发展规划利好
  2. 友盟一键登录获取手机号码PHP后端
  3. 30天自制操作系统——Day7实验报告
  4. 用友grp_U8.B版政务财政管理软件往来明细表浮动表数据库源。村集体经济组织会计制度
  5. 对REST的一些理解
  6. Arithmetic problem | The Triangle
  7. 使用HBase Coprocessor
  8. 医疗急救卡-数据API
  9. Redis - 集群方案
  10. 【学习】计算机网络重点知识点面试突击(一)