硬汉嵌入式论坛

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

[STM32H7] 请教stm32cubemx与FW_H7版本问题?

[复制链接]

7

主题

22

回帖

43

积分

新手上路

积分
43
发表于 2024-8-1 18:22:50 | 显示全部楼层 |阅读模式

stm32h750vbt6+freertos+lwip平台,新做了一块工作用的板;

两年前用stm32cubemx V6.1.1 配合 stm32cube_fw_h7 V1.8.0 用stm32h750vbt6 ;


现在用stm32cubemx V6.12.0 配合 stm32cube_fw_h7 V1.11.2 (都是最新版本) 配了个stm32h750vbt6的工程,烧进最近新搞的板子,eth网络死活ping不通;
我把两年前的bin烧进去,能ping通;

反复比较新配置的源码与两年前的源码,ethernetif.c ,lwip.c , main.c ;  cubemx工具配置网络这块主要涉及MPU内存,ETH,lwip这三项配置,折腾了1天还没ping通;

请教有经验的站长与各位大侠, 我要不要退回两年前的软件版本去给新板配置工程然后再开发?

按道理说,新版本改正了旧版的一些bug,更好才行; 可是我怎么配置就是ping不通,为了不再浪费时间。

虽然不是新手,但还是依赖cubemx工具; 比较过ethernetif.c,与旧版比改动满多的,一时没找出来哪里出问题;
请支招,多谢!!!!
回复

使用道具 举报

678

主题

3465

回帖

5524

积分

论坛元老

积分
5524
发表于 2024-8-1 19:54:30 | 显示全部楼层
是不是你新版本的 eth 网络硬件对不上你新版本的软件 ?  特别是 地址 设定 看看 搞错了每 ?
回复

使用道具 举报

8

主题

33

回帖

57

积分

初级会员

积分
57
发表于 2024-8-1 20:18:22 | 显示全部楼层
表示新版本可以ping,可能是你那部分没搞正确
回复

使用道具 举报

58

主题

658

回帖

837

积分

金牌会员

积分
837
发表于 2024-8-1 20:35:44 | 显示全部楼层
FW_H7没问题的, 基本就是驱动和MPU配置,就那几个项,发stm32cubemx工程看看就知道了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115490
QQ
发表于 2024-8-2 00:49:49 | 显示全部楼层
我这个全部采用的最新版,双网口用法,可供参考

RTX5全家桶源码综合模板发布,含FreeRTOS内核版本,将其打造成直接面向实际项目应用的综合框架(2024-06-19)
https://www.armbbs.cn/forum.php? ... 4516&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

7

主题

22

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2024-8-2 16:10:48 | 显示全部楼层
多谢各位大侠指点,多谢!

可以ping了;
因为开了很多个task,freertos的HEAP_SIZE设置20KB;
把MX_FREERTOS_Init(void) 中的task初始化都注释掉编译下载就可以ping了;然后逐步减少注释的task排除.....最后把configTOTAL_HEAP_SIZE   ((size_t)32768), 不用注释task也能ping通了;
很奇怪的问题,如果freertos的开的task多而HEAP设置的小,cubemx工具就会提示红色错误,而先前设置的20KB是够用的,手动计算20个task占用大约11KB的RAM;
而且,而且,heap_4是在 D1 RAM里面的,而ETH+LWIP都设置在D2区SRAM的,不会相互影响,查map看32KB的heap_4占用内存地址如下:
           .bss                                     0x24002ce4   Section      240  tasks.o(.bss)
    pxReadyTasksLists                        0x24002ce4   Data         140  tasks.o(.bss)
    xDelayedTaskList1                        0x24002d70   Data          20  tasks.o(.bss)
    xDelayedTaskList2                        0x24002d84   Data          20  tasks.o(.bss)
    xPendingReadyList                        0x24002d98   Data          20  tasks.o(.bss)
    xTasksWaitingTermination             0x24002dac   Data          20  tasks.o(.bss)
    xSuspendedTaskList                      0x24002dc0   Data          20  tasks.o(.bss)
    .bss                                            0x24002dd4   Section    32768  heap_4.o(.bss)
    ucHeap                                   0x24002dd4   Data       32768  heap_4.o(.bss)       //freertos的TOTAL_HEAP_SIZE在这里
    .bss                                     0x2400add4   Section       24  ip.o(.bss)                   //难道是真的heap不够把ip.o给冲掉了导致不能ping???
    .bss                                     0x2400adec   Section      131  memp.o(.bss)
    .bss                                     0x2400ae6f   Section      627  memp.o(.bss)
    .bss                                     0x2400b0e2   Section      227  memp.o(.bss)
    .bss                                     0x2400b1c5   Section      259  memp.o(.bss)

总之,好奇怪的问题。
请指点,多谢!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-29 03:23 , Processed in 0.258127 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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