OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2782|回复: 1

新版CubeMX5.1.0生成自定义人体输入型设备(HID)驱动代码报错

[复制链接]

5

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2013-8-29
在线时间
14 小时
发表于 2019-3-8 10:57:07 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 wmfi 于 2019-3-8 11:05 编辑

新版CubeMX5.1.0生成自定义人体输入型设备(HID)驱动代码报错


使用新版的CubeMX5.1.0选择USB_DEVICE选择 Class For FS IP ——> Custom Human Interface Device Class(HID)如下图
cubemx异常.jpg

标识1、选择的就是Custom Human Interface Device Class(HID)
标识2、只要选择标识1的类型,标识2的选项就是一个感叹号,并且后面的下拉框没有任何选项

选择这个USB模式后,生成的代码,在usbd_conf.c 文件中,以下函数中会有报错的

void *USBD_static_malloc(uint32_t size)
{
  return mem;
}
批注 2019-03-08 102625.jpg
新版cubemx生成的就会使这个函数报错,我下载5.1.0之前的版本 比如cubemx5.0.1版,生成的代码,在这个函数不会报错,如下图
生成后的.jpg
通过对比发现,CubeMX5.1.0版本选择Custom Human Interface Device Class(HID)生成的代码会使void *USBD_static_malloc(uint32_t size)少一行代码,而CubeMX5.1.0之前的版本都不会产生这个问题,如果我用CubeMX5.1.0选择 Human Interface Device Class(HID)生成的代码,void *USBD_static_malloc(uint32_t size)这个函数内就会有static uint32_t mem[(sizeof(USBD_CUSTOM_HID_HandleTypeDef)/4+1)];这句,而5.1.0之前的版本不管选择哪个类型的HID类型,都不会使void *USBD_static_malloc(uint32_t size)报错

不知道大家有没有遇到这个问题呢,难道是CubeMX5.1.0的BUG吗

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
136
金钱
136
注册时间
2016-6-29
在线时间
48 小时
发表于 2019-12-9 22:47:41 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-22 06:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表