wmfwin 发表于 2019-3-8 10:12:13

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

本帖最后由 wmfwin 于 2019-3-8 11:04 编辑

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

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

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

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

void *USBD_static_malloc(uint32_t size)
{
return mem;
}




新版cubemx生成的就会使这个函数报错,我下载5.1.0之前的版本 比如cubemx5.0.1版,生成的代码,在这个函数不会报错,如下图

通过对比发现,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吗



zhaoyiwei 发表于 2019-3-10 12:23:17

帮顶一下

任风吹吹 发表于 2019-3-20 16:14:07

刚确认了下,V5.1.0版本中确实存在此问题,ST已经知道了此问题,期待下个版本此问题将会得到解决。

butterflyspring 发表于 2019-3-22 15:21:49

期待新的版本早点发布:) 谢谢 任风吹吹:lol

lisd70 发表于 2019-4-2 18:17:31

谢谢版主分享BUG,期待新版本发行,
页: [1]
查看完整版本: 新版CubeMX5.1.0生成自定义人体输入型设备(HID)驱动代码报错