
前言 某客户的产品,需要评估 NUCLEO-F746ZG 板上的 USB 功能,使用 cube Version 4.15.1 版本工具生成工程,但在 win7 和 win10 上遇到驱动不正确。 ![]() 使用 32F411 或 F407 时枚举及驱动,都很正常 ![]() 一、 测试 1.1. IDE 环境 Embeded workbench for ARM v7.30 1.2. 修改堆栈大小 原 heap 为 0x200,调整到 400 时可正常使用,如下图: ![]() PC 机上正常,如下图: ![]() 1.3. 修改编译选项 在 IAR 编译选项中,选择检查 heap,如下图: ![]() 编译执行中发现在 USB_CDC.c 文件中第 517 行分配内存时超过 0x200 大小,如下图: ![]() 二、 结论 应该是驱动代码占用了堆空间不够导致的程序不正常。 |
【经验分享】stm32g030内部温度计算
【学习必备】每天学习STM32小技巧-1
【管管推荐】STM32经验分享篇(新栏目即将上线)
【学习必备】每天学习STM32小技巧-2
【经验分享】如何用STM32G031开发板设计DDS信号发生器-2022年寒假在家练STM32平台项目分享(二)
【经验分享】STM32G0 复位后死机
STM32固件库分享,超全系列整理
【经验分享】STM32 Bootloader 中 DFU 使用限制
【经验分享】STM32 基于 Nucleo 板 CAN 总线的建立
【经验分享】LwIP 内存配置