STM32F746ZG USB 驱动不正常 前言3 s8 ~& q& Z% `! l" v9 y 某客户的产品,需要评估NUCLEO-F746ZG板上的USB功能,使用cube Version 4.15.1 版本工具生成工程,但在win7和win10上遇到驱动不正确。 $ {6 y& e6 _6 H8 _, I4 D4 f 使用32F411 或F407时枚举及驱动,都很正常1 T! @; d$ G( `, w" }0 D1 M" D ' J# _/ Z) P5 A) _) K- o0 j* E 一、 测试& L. U* M- `8 g: b2 N 1.1. IDE 环境 Embeded workbench for ARM v7.303 c9 ^# B/ l- m( @8 F/ N: P8 |1 N 1.2. 修改堆栈大小 原heap为0x200,调整到400时可正常使用,如下图:% @" q7 q# d# o" {( g & }; T9 x d: H PC机上正常,如下图: 1.3. 修改编译选项 在IAR编译选项中,选择检查heap,如下图: . N" G6 y" j2 D2 {7 K9 { t+ d1 N 编译执行中发现在USB_CDC.c 文件中第517行分配内存时超过0x200大小,如下图:# V- } P, @. C1 l3 W: U 二、 结论 应该是驱动代码占用了堆空间不够导致的程序不正常。 " b( k4 I- a) S. N. d+ p 文档下载地址: https://www.stmcu.org.cn/document/list/index/category-10383 G4 X+ D9 C3 U3 X U* w7 Y$ Y 实战经验汇总:8 a- f: w/ O" e3 d+ \( e https://www.stmcu.org.cn/module/forum/thread-576401-1-1.html |
最全USB HID开发资料,悉心整理一个月,亲自测试
USB Audio设计与实现
【MCU实战经验】+STM32F107的USB使用
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32 USB-HID通信移植步骤STM32 USB HID键盘例程
基于STM32F746G-Discover的扩展电路板
【合集】STM32F7教程、资料大集合
F769 Discovery实现播放U盘音乐的播放器
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据