[STM32F7]

STM32F746ZG USB 驱动不正常

[复制链接]
1217|10
手机看帖
扫描二维码
随时随地手机跟帖
从此不早朝|  楼主 | 2021-11-11 21:45 | 显示全部楼层 |阅读模式
前言
某客户的产品,需要评估 NUCLEO-F746ZG 板上的 USB 功能,使用 cube Version 4.15.1 版本工具生
成工程,但在 win7 和 win10 上遇到驱动不正确。
82720618d1e779f0fc.png
使用 32F411 或 F407 时枚举及驱动,都很正常

2003618d1e88d1477.png

使用特权

评论回复
从此不早朝|  楼主 | 2021-11-11 21:46 | 显示全部楼层
一、 测试
1.1. IDE 环境
Embeded workbench for ARM v7.30

使用特权

评论回复
从此不早朝|  楼主 | 2021-11-11 21:47 | 显示全部楼层
1.2. 修改堆栈大小 原 heap 为 0x200,调整到 400 时可正常使用,如下图:
96195618d1ee11eaa2.png
PC 机上正常,如下图:
42535618d1ef0e258d.png

使用特权

评论回复
从此不早朝|  楼主 | 2021-11-11 21:49 | 显示全部楼层
1.3. 修改编译选项 在 IAR 编译选项中,选择检查 heap,如下图:
55905618d1f4dc3893.png
编译执行中发现在 USB_CDC.c 文件中第 517 行分配内存时超过 0x200 大小,如下图:
13261618d1f64a8190.png

使用特权

评论回复
从此不早朝|  楼主 | 2021-11-11 21:50 | 显示全部楼层
二、 结论
应该是驱动代码占用了堆空间不够导致的程序不正常。

使用特权

评论回复
wakayi| | 2021-12-6 19:54 | 显示全部楼层
都需要什么参数呢

使用特权

评论回复
wowu| | 2021-12-6 19:56 | 显示全部楼层
堆空间不够会报错吗

使用特权

评论回复
xiaoqizi| | 2021-12-6 20:03 | 显示全部楼层
如何调整堆空间的大小呢

使用特权

评论回复
tpgf| | 2021-12-6 20:06 | 显示全部楼层
如何预判占空的空间呢

使用特权

评论回复
木木guainv| | 2021-12-6 20:09 | 显示全部楼层
可以深度优化吗

使用特权

评论回复
guanjiaer| | 2021-12-6 20:11 | 显示全部楼层
怎么才能快速的找到原因呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

185

帖子

0

粉丝