完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
早在 2018 年就提出了这个问题,我有更多信息。
这个问题的答案在 UM1734 的底部,其中给出了静态分配代码片段。 这段代码片段有两个问题会回来咬住粗心的开发人员(挥手): 1) 该片段在一个数组中分配了 4 x 32 位项目,但没有说明如何使用它们。也许 4 个指向 4 个 USB 设备描述符的指针?一点都不。 这些 4 x 32 位值用于容纳 540 字节的 CDC 设备描述符。 然后将此数组之后的内存中的各种值牺牲给描述符。 2) 他们的实现分配 N x 32 位值,而 malloc 期望 N x 8 位值,因此您分配的空间的 3/4(如果您设法通过问题 1)将永远不会被使用。在内存受限的系统中。每个字节都可能很重要。 唉,现在我必须联系我的客户,让他知道现场的 250 台设备需要固件更新。 |
|
相关推荐
1个回答
|
|
您是手动将代码从 UM1734 复制到您的代码中还是由 CubeMX 生成?我问是因为我为我的 L4xx 项目生成的 CubeMX(版本 4.24,是的,旧的)USB CDC 代码具有开箱即用的 USBD_static_malloc:
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
1807 浏览 1 评论
2542 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1534 浏览 1 评论
2986 浏览 6 评论
5439 浏览 21 评论
438浏览 4评论
838浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
306浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
788浏览 3评论
767浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-3 07:36 , Processed in 0.997047 second(s), Total 99, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号