[开发工具] 昨天刚试用了STM32CUBE MX 生成的代码报错

[复制链接]
5959|6
 楼主| yukaigogogo 发表于 2014-8-1 08:49 | 显示全部楼层 |阅读模式
本帖最后由 yukaigogogo 于 2014-8-1 08:51 编辑

我使用了stm32F4discovery 开发板,在cube软件中打开了USB的虚拟端口功能,生成代码后,报以下的错了误
cube_mx_test Configuration\cube_mx_test Configuration.axf: Error: L6218E: Undefined symbol HAL_PCDEx_SetRxFiFo (referred from usbd_conf.o).
请教各位。

找到生成的代码中(stm32f4xx_hal_pcd.h),
/* Create an alias to keep compatibility with the old name */
#define HAL_PCD_SetTxFiFo    HAL_PCDEx_SetTxFiFo
#define HAL_PCD_SetRxFiFo    HAL_PCDEx_SetRxFiFo
想做大牛的小马 发表于 2014-8-1 09:35 | 显示全部楼层
我好像也遇到过类似的问题,我用的方法是,在f4的cube源码包里中(stm32f4xx_hal_pcd.c)找一下HAL_PCD_SetTxFiFo  define HAL_PCD_SetRxFiFo 的实现,然后放到cube生成的相应工程文件里。。。。
 楼主| yukaigogogo 发表于 2014-8-1 09:43 | 显示全部楼层
刚刚我把工程未包含的文件包含进去了,就是stm32f4xx_hal_pcd_ex.c  我在想这个是要手工加还是CUBE软件没做好呢?
现在OK了,编译通过了。
想做大牛的小马 发表于 2014-8-1 09:51 | 显示全部楼层
yukaigogogo 发表于 2014-8-1 09:43
刚刚我把工程未包含的文件包含进去了,就是stm32f4xx_hal_pcd_ex.c  我在想这个是要手工加还是CUBE软件没做 ...

哦。。原来生成的就跑到.._ex.c里面去了。。。。能通过就好。。。。
jammy1982 发表于 2014-8-15 11:55 | 显示全部楼层
打开STMicroelectronics\STM32Cube\STM32CubeMX\db\mcu\config文件夹,找到PCD-STM32F4xx_Configs.xml邮件编辑,文件最后一段改为:
<RefComponent Cclass="HAL" Cgroup="PCD" Cversion="0.8.0">
        <File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h" />   
        <File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h"/>   
        <File Category="source" Name="Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c" />
        <File Category="source" Name="Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c"/>
        <File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h"/>
        <File Category="source" Name="Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c"/>
    </RefComponent>
jammy1982 发表于 2014-8-15 11:56 | 显示全部楼层
原来的是:
<RefComponent Cclass="HAL" Cgroup="PCD" Cversion="0.8.0">
        <File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h" />   
        <File Category="header" Name="Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_pcd_ex.h"/>   
        <File Category="source" Name="Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c" />
        <File Category="source" Name="Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.c"/>
        <File Category="header" Name="Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h"/>
        <File Category="source" Name="Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c"/>
    </RefComponent>
colin2135 发表于 2014-8-16 10:09 | 显示全部楼层
本帖最后由 colin2135 于 2014-8-16 10:11 编辑
jammy1982 发表于 2014-8-15 11:56
原来的是:

按照你的更改之后,可以正常使用了。谢谢你的帮助。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

25

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部