打印
[开发工具]

昨天刚试用了STM32CUBE MX 生成的代码报错

[复制链接]
5588|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
沙发
我好像也遇到过类似的问题,我用的方法是,在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了,编译通过了。

使用特权

评论回复
地板
yukaigogogo 发表于 2014-8-1 09:43
刚刚我把工程未包含的文件包含进去了,就是stm32f4xx_hal_pcd_ex.c  我在想这个是要手工加还是CUBE软件没做 ...

哦。。原来生成的就跑到.._ex.c里面去了。。。。能通过就好。。。。

使用特权

评论回复
5
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>

使用特权

评论回复
6
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>

使用特权

评论回复
7
colin2135| | 2014-8-16 10:09 | 只看该作者
本帖最后由 colin2135 于 2014-8-16 10:11 编辑
jammy1982 发表于 2014-8-15 11:56
原来的是:

按照你的更改之后,可以正常使用了。谢谢你的帮助。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

25

帖子

1

粉丝