硬汉嵌入式论坛

 找回密码
 立即注册
查看: 869|回复: 15
收起左侧

[以太网] CUBEMX配置H723可以ping通但无法稳定的使用TCP+SOCKET

[复制链接]

7

主题

16

回帖

37

积分

新手上路

积分
37
发表于 2023-5-10 20:36:07 | 显示全部楼层 |阅读模式
大家好,小弟现在遇到一个问题,希望大佬能指点一下。     去年我在F407的板子上实现了FREERTOS+TCP+SOCKET的正常的数据发送。     然后做了自己的板子,板子使用的是H723ZGT6的芯片加LAN8720的网络芯片,然后看着网上的配置实现了正常的ping通,但是我把F407上关于SOCKET的传输的程序搬过来之后(我理解的是这部分程序只是关于SOCKET通信的,在F407和H7上都是通用的),H7的板子可以和电脑连接上,但是不能像在F407上那样征正常的传输数据,并且连接大概只能维持18秒左右就会断掉。我怀疑是自己CUBEMX配置的有问题。现在我把我的关于MPU的配置贴上来,有大佬看到了麻烦指导小弟一下,不胜感激

        
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-10 21:20:37 | 显示全部楼层
补充一下,我发现不是连接十多秒就不行,如果不进行收发数据的话可以一直保持连接,但是一旦进行数据的收发,很快就会断开
屏幕截图 2023-05-10 211921.png
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-10 21:22:48 | 显示全部楼层
底下是CUBEMX配置的MPU的
1.png
2.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2023-5-11 00:52:22 | 显示全部楼层
方便的话,把你的工程分享到百度云下
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-11 09:43:47 | 显示全部楼层
eric2013 发表于 2023-5-11 00:52
方便的话,把你的工程分享到百度云下

好的,谢谢硬汉哥的回复,小弟很荣幸。    我把链接放到底下,麻烦硬汉哥跟其他大佬们给小弟一些指导。
这个工程中,实现的是板子作为客户端与PC连接,然后关于SOCKET的程序就在client.c里面,就是简单的socket的传输。

链接:https://pan.baidu.com/s/14ztzEn9nVL2_oCgsubeUtg
提取码:8686
回复

使用道具 举报

3

主题

70

回帖

79

积分

初级会员

积分
79
发表于 2023-5-11 12:31:26 | 显示全部楼层
建议按照EMAC_STM32H7xx.c中配置ethernet的MPU。
       \n
            Cortex Memory Protection Unit Region 0 Settings | Value
            :-----------------------------------------------|:-------------------------:
            MPU Region                                      | **Enabled**
            MPU Region Base Address                         | **0x24000000**
            MPU Region Size                                 | **512kB**
            MPU SubRegion Disable                           | **0x0**
            MPU TEX field level                             | **level 1**
            MPU Access Permission                           | **ALL ACCESS PERMITTED**
            MPU Instruction Access                          | **DISABLE**
            MPU Shareability Permission                     | **DISABLE**
            MPU Cacheable Permission                        | **ENABLE**
            MPU Bufferable Permission                       | **ENABLE**
       \n
            Cortex Memory Protection Unit Region 1 Settings | Value
            :-----------------------------------------------|:-------------------------:
            MPU Region                                      | **Enabled**
            MPU Region Base Address                         | **0x30000000**
            MPU Region Size                                 | **512kB**
            MPU SubRegion Disable                           | **0x0**
            MPU TEX field level                             | **level 1**
            MPU Access Permission                           | **ALL ACCESS PERMITTED**
            MPU Instruction Access                          | **DISABLE**
            MPU Shareability Permission                     | **DISABLE**
            MPU Cacheable Permission                        | **DISABLE**
            MPU Bufferable Permission                       | **DISABLE**
       \n
            Cortex Memory Protection Unit Region 2 Settings | Value
            :-----------------------------------------------|:-------------------------:
            MPU Region                                      | **Enabled**
            MPU Region Base Address                         | **0x30040000**
            MPU Region Size                                 | **256B**
            MPU SubRegion Disable                           | **0x0**
            MPU TEX field level                             | **level 0**
            MPU Access Permission                           | **ALL ACCESS PERMITTED**
            MPU Instruction Access                          | **DISABLE**
            MPU Shareability Permission                     | **DISABLE**
            MPU Cacheable Permission                        | **DISABLE**
            MPU Bufferable Permission                       | **DISABLE**
       \n
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-11 14:30:56 | 显示全部楼层
turnip 发表于 2023-5-11 12:31
建议按照EMAC_STM32H7xx.c中配置ethernet的MPU。
       \n
            Cortex Memory Protection Unit  ...

好的,我去试一试,谢谢啦
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-11 20:06:04 | 显示全部楼层
turnip 发表于 2023-5-11 12:31
建议按照EMAC_STM32H7xx.c中配置ethernet的MPU。
       \n
            Cortex Memory Protection Unit  ...

试了,还是不能行
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-11 20:27:50 | 显示全部楼层
我把我的CUBEMX配置的图片放在这儿,根据这样的配置可以实现H723ZGT6与LAN8720A的PING通,但是就是不能进行正常的SOCKET传输,同样的socke程序t在F407完美运行,希望大神们能给小弟些帮助,现在有点儿黔驴技穷的感觉了
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
10.png
11.png
12.png
13.png
14.png
15.png
回复

使用道具 举报

78

主题

693

回帖

927

积分

金牌会员

积分
927
发表于 2023-5-11 23:42:52 | 显示全部楼层
佳爷 发表于 2023-5-11 20:27
我把我的CUBEMX配置的图片放在这儿,根据这样的配置可以实现H723ZGT6与LAN8720A的PING通,但是就是不能进行 ...

不要两个ROM都选,选其中一个作为主ROM空间就行就行。
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-12 14:51:02 | 显示全部楼层
庄永 发表于 2023-5-11 23:42
不要两个ROM都选,选其中一个作为主ROM空间就行就行。

我看了硬汉的关于MPU的讲解的视频,按照硬汉哥的关于以太网描述符的配置规则配置了一下,就是配置了一个ROM,还是不行
微信图片_20230512144656.png
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-12 20:37:52 | 显示全部楼层
大佬们,我在寻求问题解决方法时,看到有的人说需要手动加上SRAM3,硬汉哥的程序中也是手动开启的SRAM1,SRAM2,SRAM3,我加的时候会报错。这是为啥呢???
2.png
1.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2023-5-13 01:51:16 | 显示全部楼层
佳爷 发表于 2023-5-11 09:43
好的,谢谢硬汉哥的回复,小弟很荣幸。    我把链接放到底下,麻烦硬汉哥跟其他大佬们给小弟一些指导。
...

今天我要发一期视频教程,最晚周一帮你看程序
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-13 09:18:49 | 显示全部楼层
eric2013 发表于 2023-5-13 01:51
今天我要发一期视频教程,最晚周一帮你看程序

谢谢硬汉哥,如有需求,可以加上小弟QQ让小弟给你说一下具体的困难     1728754806
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2023-5-13 09:28:37 | 显示全部楼层
佳爷 发表于 2023-5-13 09:18
谢谢硬汉哥,如有需求,可以加上小弟QQ让小弟给你说一下具体的困难     1728754806

就在论坛交流即可
回复

使用道具 举报

7

主题

16

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2023-5-13 16:07:21 | 显示全部楼层
eric2013 发表于 2023-5-13 09:28
就在论坛交流即可

好的硬汉哥。我感觉可能需要向您把问题描述的详细一些。   在之前完成H723ZGT6的ping通工作中,参考了网上的一些文章,我的其中有个步骤是这样的。需要在MDK中魔法棒中的Link选项下将Use Memory Layout from Target Dialog关闭,然后点击底下的Edit,会有一个.sct文件,然后将其中的代码换成图中的。     自己对这个也是一知半解,我把问题i详细的描述一下。
1.png
2.png
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 14:03 , Processed in 0.463616 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表