请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32F746ZG USB 驱动不正常

[复制链接]
STMCU小助手 发布时间:2022-2-14 21:22
前言
某客户的产品,需要评估 NUCLEO-F746ZG 板上的 USB 功能,使用 cube Version 4.15.1 版本工具生成工程,但在 win7 和 win10 上遇到驱动不正确。
J_{%UJAYZZC~L)NBOQXOWSQ.png

使用 32F411 或 F407 时枚举及驱动,都很正常

1V8SI2EWT]TVA62M58W6)T1.png

一、 测试
1.1. IDE 环境

Embeded workbench for ARM v7.30
1.2. 修改堆栈大小
原 heap 为 0x200,调整到 400 时可正常使用,如下图:

76UOC{9F(3}AND5M5XW}GEN.png

PC 机上正常,如下图:

M99X{NGK47_A)6~MY1VPVNT.png

1.3. 修改编译选项
在 IAR 编译选项中,选择检查 heap,如下图:

0NQIY_$O0G0JQE0C]@5R5_7.png

编译执行中发现在 USB_CDC.c 文件中第 517 行分配内存时超过 0x200 大小,如下图:

VV]E7OP__CUF1F~P~A7I0.png

二、 结论
应该是驱动代码占用了堆空间不够导致的程序不正常。

收藏 评论0 发布时间:2022-2-14 21:22

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版