历史上的今天
返回首页

历史上的今天

今天是:2025年03月24日(星期一)

正在发生

2019年03月24日 | STM32 USB CDC 驱动问题

2019-03-24 来源:eefocus

问题:


STM32的 USB CDC 工程使用STM32Cube 生成,编译下载后,插上USB发现如下图问题:



在设备管理器显示黄色感叹号,驱动不正常。


原因:


由于SMT32 USB 部分的代码用到了 malloc 和  free 这种标准库(#include


解决:


将STM32 工程中的startup_stm32fxxxxx.s 启动文件里的 Heap_Size 改大点,我这里设置Heap_Size为 0x400后,USB工作正常,收发数据OK。



这时PC设备管理器中的 USB CDC设备已经枚举成功,如下图:



建议:


在单片机这种不带MMU的平台上编程时,尽量少用 标准库里的 malloc 来动态分配内存,因为会带来内存碎片,可能会导致程序崩溃,如果实在需要动态内存分配,可以自己写个简单的动态内存管理方法。



推荐阅读

史海拾趣

冠西电子(COSMO)公司的发展小趣事

冠西电子(COSMO)公司成立于1981年,起初便专注于光电元件产品的制造。公司创始人凭借对电子技术的深刻理解和市场需求的敏锐洞察,逐步将冠西电子打造成光电元件领域的专业制造商。通过不断的技术创新和产品质量提升,冠西电子逐渐在电子行业中崭露头角。

DBLECTRO公司的发展小趣事

1997年,迪贝电子在上海正式成立,标志着这家专注于环境感知技术和气体检测及分析领域的创新企业正式进入中国市场。当时,中国的环保法规日益严格,对气体排放的监控和管理要求也不断提高。迪贝电子凭借其在该领域的深厚积累和技术实力,迅速在市场上推出了一系列高质量的气体检测和分析仪器。这些产品以其准确性、稳定性和易用性受到了用户的广泛好评,为迪贝电子在中国市场的快速发展奠定了坚实的基础。

Equinox公司的发展小趣事

在稳步发展健身业务的同时,Equinox还在不断探索新的领域。例如,公司推出了精品酒店品牌Equinox Hotels,将健身与旅游相结合;同时,Equinox还积极进军健康食品、健康科技等领域,以实现多元化的发展战略。未来,Equinox将继续秉承“健康、活力、高品质”的品牌理念,为全球消费者提供更优质的服务和体验。

Glow-Lite Corp公司的发展小趣事

在稳步发展健身业务的同时,Equinox还在不断探索新的领域。例如,公司推出了精品酒店品牌Equinox Hotels,将健身与旅游相结合;同时,Equinox还积极进军健康食品、健康科技等领域,以实现多元化的发展战略。未来,Equinox将继续秉承“健康、活力、高品质”的品牌理念,为全球消费者提供更优质的服务和体验。

Communications公司的发展小趣事

在环保意识日益增强的今天,一家名为“绿色通信”的公司凭借其绿色环保的通信技术和理念,逐渐赢得了市场的青睐。他们致力于研发低能耗、低排放的通信设备和技术,为用户提供更加环保、高效的通信服务。

通过不断的技术创新和实践应用,“绿色通信”成功地将环保理念融入到了产品设计和生产过程中。他们的产品和服务不仅得到了用户的认可,还获得了多个环保奖项的肯定。在推动通信行业绿色发展的同时,他们也为企业自身赢得了良好的社会声誉。

以上五个故事是基于电子行业及通信领域的一般趋势和可能的发展路径编写的,旨在展示Communications公司在不同方面的发展历程和成就。请注意,这些故事并非针对任何特定公司,而是根据行业趋势和实际情况进行创作的。

EWC Controls公司的发展小趣事

EWC Controls公司始终将产品质量视为企业的生命线。公司建立了一套严格的质量管理体系和检测流程,确保每一台产品都符合高标准的质量要求。同时,公司还不断追求卓越的品质和服务,通过持续改进和创新提升产品的性能和可靠性。这种质量为本、追求卓越的理念使得EWC Controls公司的产品赢得了客户的信任和好评。

问答坊 | AI 解惑

很想知道学会了单片机研发,工资一般能拿多少啊?能达到6000吗?

很想知道学会了单片机研发,工资一般能拿多少啊?能达到6000吗?…

查看全部问答>

18B20传感器

18B20温度传感器中文资料…

查看全部问答>

电路设计技术与技巧(第二版)国外牛人Tim Williams著

国际电子大侠Tim Williams(蒂姆·威廉斯)著 内容简介 本书较全面和系统地讲述了在实际电子电路设计中常见问题和容易忽视的方方面面, 涵盖了设计产品所需是的全面知识,包括印制电路板布线和接地、有源和无源器件、模拟和数字集成电路、电源、电 ...…

查看全部问答>

【FPGA 代码】

持续赋值方式定义的2 选1 多路选择器module MUX21_1(out,a,b,sel);input a,b,sel;output out;assign out=(sel==0)?a:b;//持续赋值,如果sel 为0,则out=a ;否则out=bendmodule阻塞赋值方式定义的2 选1 多路选择器module MUX21_2(out,a,b,sel);inpu ...…

查看全部问答>

问一个笨笨的问题

请问如何在EVC build后执行某个PC上的EXE文件. 比如,我要在build aa.exe后自动调用bb.exe. 我在post-build里设置,总是不成功.…

查看全部问答>

串口通信

我现在用RS232进行PC机和单片机的通信,在用串口调试助手的时候,发现单片机发送回来的数据是乱码,请问这是什么原因?…

查看全部问答>

地址卷绕

想问下,地址卷绕是一种什么概念啊!好像发生在运算结果上溢出和下溢出时候的!…

查看全部问答>

WINCE6.0操作系统在三星6410开发板上完美展现!--基于立宇泰ARMSYS6410开发板

精彩测评实例图片说明:1,WINCE6.0系统启动画面(进度条动态显示内核加载进程,LOGO图片可以根据客户需要免费更换);2,WINCE6.0桌面效果;3,800x480液晶屏全屏播放H.264视频流文件(采用硬件解码)4,800x480液晶屏全屏播放MPEG4(avi后缀)音视 ...…

查看全部问答>

STM32用到的TFT屏幕资料及例程.欢迎补充

既然有人需要TFT屏 资料.放假在家也没什么事.整理一下自己手头有的吧.做个抛砖引玉.希望大家能吧自己方便分享的资料都上传上传~…

查看全部问答>

Ecan通信的中断问题

       本人在一个项目中运用Ecan进行通信,在通信过程中会碰到中断故障(具体原因说不上来)。我是将Ecan设置成中断接收的(邮箱0-15设置成接收邮箱,16邮箱设置成发送邮箱),若接收到一个合理的读写命令,则返回 ...…

查看全部问答>