7487|7

2942

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

【 ST NUCLEO-H743ZI测评】(2)初体验 以太网测试 [复制链接]

本帖最后由 bigbat 于 2019-2-22 11:52 编辑

继续上篇点亮LED之后,开始测试以太网。板子由ST公司提供,板子资料
这是我比较关心的部分。开始我使用STM32CubeMX来进行网络部分的测试,但是却没有成功!我下面就把这个过程描述一下。
首先启动STM32CubeMX后,建立工程选择的是Borad Selector,特意选择了 "ST NUCLEO-H743ZI"板子项目,建立项目后第一个问题就是,lwIP的选项是“灰色”的!查看问题描述卡说:是由于没有启动“CORTEX_M7 的CPU DCache”,那就把它enable吧。

打开后,果然lwIP可以使用了。那就使用lwIP把IP地址设置一下,找到General Settings关闭IPv4-DHCP,设置我的IP为192.168.1.5,掩码255.255.255.0,网关192.168.1.1确认没错,点击生成,

出现错误提示说:PHY设置不完整。就打开ETH项目,结果傻眼了,根本就没有PHY的任何选项,明明记得PHY的选项和初始化就在ETH的tab里呀!怎么没有了,就仔细查看软件的提示,发现说PHY的设置由lwIP部分完成,哦?我似乎明白了,就到lwIP的Tab下面去找,果然有:Platform Settings有这个选项,把LAN8742给选上,然后设置好其它项目,生成代码,成功。

赶紧趁热编译生成,下载到开发板。插上网线“测试”。先ping一下吧!很悲剧:“无法访问目标主机”。使用arp -a也没有发现主机。继续寻找原因。但是资料非常的少。有用的一个帖子说需要“将Ethernet global interrupt”打开。那就找到ETH设置卡,打开了设置。在一次生成代码,下载到板子上,结果问题依旧。还是ping不通。也就是说没有这个IP。上网继续找,说是STM32Cube_FW_H7_V1.3.0有BUG!说是要在函数HAL_ETH_Transmit()前加上SCB_CleanInvalidateDCache()。我看了一下代码中有这一句。就比较纳闷。
后来,就想到使用DHCP功能,就到lwIP选项卡打开了DHCP,程序执行后,打开路由器查看DHCP列表,没有发现“00:80:E1:00:00:00”的主机。上网查了查这个MAC是ST的合法MAC。实在是郁闷,就想是不是这个网卡坏了呀。于是查看网卡的灯,发现“连接”灯亮(绿色),按复位后“数据灯”闪烁(黄色)。应该网卡没有问题。于是启动调试,查看PHY初始化也能执行。一点头绪都没有。
就去找开发板的例程,找了半天也没找到。外国的洋师傅说是在en.stm32cubeh7.zip这个包了。打开发现有两个项目NUCLEO-H743ZI 和STM32H743I-EVAL,找到\STM32Cube_FW_H7_V1.3.0\Projects\STM32H743ZI-Nucleo\Applications\LwIP\LwIP_HTTP_Server_Netconn_RTOS,项目。打开编译、下载、运行。
从路由器里查到IP,打开网页。发现没有问题。


虽然ping不同,但是网页是好的,而且里面还有图片!能不能ping通不是很重要,只要网络通就可以。
既然网卡没有问题那为啥不行呢?继续努力看看啥问题。




此内容由EEWORLD论坛网友bigbat原创,如需转载或用于商业用途需征得作者同意并注明出处




此帖出自stm32/stm8论坛

最新回复

这个问题解决了吗,没解决找我,QQ,264935346  详情 回复 发表于 2019-5-10 22:53
点赞 关注(2)
 

回复
举报

1310

帖子

3

TA的资源

一粒金砂(高级)

沙发
 
ICMP协议使能呢吗?
此帖出自stm32/stm8论坛

点评

当然是是使能的,肯定不是配置的问题,现在是压根就不能获得IP地址。配套的例程也ping不通,但是能获得IP  详情 回复 发表于 2019-2-22 15:34
 
 

回复

2942

帖子

4

TA的资源

五彩晶圆(中级)

板凳
 
54chenjq 发表于 2019-2-22 15:07
ICMP协议使能呢吗?

当然是是使能的,肯定不是配置的问题,现在是压根就不能获得IP地址。配套的例程也ping不通,但是能获得IP
此帖出自stm32/stm8论坛
 
 

回复

2942

帖子

4

TA的资源

五彩晶圆(中级)

4
 
今天郁闷了一天了,对比两个工程的ethernetif.c文件,发现这两个文件,有多处不一样的地方。暂时没有任何头绪,不知道问题出在哪里.
此帖出自stm32/stm8论坛
 
 
 

回复

2942

帖子

4

TA的资源

五彩晶圆(中级)

5
 
两天了这个STM32CubeMX生成的网络项目还是不行,通过调试发现

  1. /* Registers the default network interface */
  2.   netif_set_default(&gnetif);

  3.   if (netif_is_link_up(&gnetif))
  4.   {
  5.     /* When the netif is fully configured this function must be called */
  6.     netif_set_up(&gnetif);
  7.   }
  8.   else
  9.   {
  10.     /* When the netif link is down this function must be called */
  11.     netif_set_down(&gnetif);
  12.   }
复制代码

程序走到了12行,netif_set_down(&gnetif);处,说明网络压根就没有起来。希望有高手给点指点。
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
兄弟, 难道不是应该去查   netif_set_default(&gnetif) 这个函数失败在哪里吗? 打个printf跟踪一下gnetif哪里返回为0了嘛
此帖出自stm32/stm8论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

7
 
官方的例程下载后等1分钟,板子上红蓝灯一亮就能ping通了
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
这个问题解决了吗,没解决找我,QQ,264935346
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表