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

【实战经验】STM32F746ZG USB 驱动不正常

[复制链接]
zero99 发布时间:2016-7-15 05:57
STM32F746ZG USB 驱动不正常
, o( ~. `) j) X% g0 v* r5 o5 C
. h* a- `# x3 \! }前言
4 e) x# V; c0 G7 j: q, T0 Z某客户的产品,需要评估NUCLEO-F746ZG板上的USB功能,使用cube Version 4.15.1 版本工具生成工程,但在win7和win10上遇到驱动不正确。/ e% J4 K, Y0 O! k% u
1.png $ g& W- F% q% p7 F, q
& [! S+ m3 o3 I4 W* K6 T; d/ v. p' u
使用32F411 或F407时枚举及驱动,都很正常
: E+ ]0 e: r7 b3 B" C, f- g: f 2.png % G3 z: g+ J) D' ^. i% q

( q+ m6 R- M4 P% U% _1 p- l9 Z一、 测试  I9 ?0 D( `& g1 e
1.1. IDE 环境/ W' V( c# A" z3 ^, U4 _" j% Y5 t
Embeded workbench for ARM v7.30
) X8 n/ w" x) z! z1 ^7 z+ p2 s1.2. 修改堆栈大小8 W8 R& C; a6 B& c. I, {
原heap为0x200,调整到400时可正常使用,如下图:
5 Y. I/ ?+ ]; E' Z# q! ? 3.png . V! x: r  b6 G5 J$ j3 f

% j5 V/ p( B% ]# z# z! ]  aPC机上正常,如下图:
- }7 u; ?$ _1 p& u; |( a 4.png 4 E6 V/ H2 }. _0 ]! t* R

6 }' q  R% ]$ _, q1.3. 修改编译选项: p+ S1 q# a5 `3 ~( x* \% s
在IAR编译选项中,选择检查heap,如下图:
& V  i8 C2 o9 w0 n 5.png
4 `3 H) Z$ s" K5 b  O: g9 I& i* X
& @2 ~; [* R3 P  ^* z编译执行中发现在USB_CDC.c 文件中第517行分配内存时超过0x200大小,如下图:
" r) R) q2 |9 N, V8 _ 6.png
' w) q5 F/ q' K$ E$ A# `  a8 u6 K6 V# T0 U% v
二、 结论
+ P; j  r" N8 J: l: t应该是驱动代码占用了堆空间不够导致的程序不正常。9 u5 o8 n! c8 k( o( B& R+ u  Q

( i5 T( g* s) f  K; v* m
  B7 R' ]% U; j文档下载地址:, ~" f! ^& _. i6 ?
https://www.stmcu.org.cn/document/list/index/category-10385 r: q( |+ @+ r6 u
# E# h/ A" I, a0 |# T  z6 W9 g
实战经验汇总:
: q. d; S3 S6 o2 _# O; zhttps://www.stmcu.org.cn/module/forum/thread-576401-1-1.html
# Q) j# i8 R/ b) }3 X
7 |) P' w1 Y  N/ v/ Z) w- |
收藏 评论0 发布时间:2016-7-15 05:57

举报

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