找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3158|回复: 0
打印 上一主题 下一主题
收起左侧

关于STM32工程建立的几个问题

[复制链接]
跳转到指定楼层
楼主
ID:99624 发表于 2015-12-27 04:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1,在使用FW3.5搭建工程时,由于stm32f10x.h头文件里面包含了LDMDHD全系列的芯片,所以,在实际使用过程中,需要首先配置你当前使用的是那一类存储量的芯片。
#35#error directive:“please...
问题出在stm32f10x.h的第95行:
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
#error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
#endif
这个错误,其实在stm32f10x.h75行有提示:
target option里面的C++选项下的define里面加入USE_STDPERIPH_DRIVER, STM32F10X_HD_VL即可。
(这个使用方法不太懂,,具体可以参考固件库里面的配置)
2,在建立main函数后,初步编译使出现的另外两个问题:
lphaff.axf:Error:L6218E:Undefined symbol RCC_APB2PeriphResetCmd (referred from stm32f10x_gpio.o).
lphaff.axf:Error:L6218E:Undefined symbol main (referred from rtentry2.o).
原因:
如上图1所示,在该程序中实际上使用了stm32f10x_RCC.c里面的函数RCC_APB2PeriphResetCmd函数,却没有在工程里面添加这个源文件。
添加这个源文件后,问题得以解决。如下图2
此时,出现的是同类问题的另外一个问题:undefined symbol main...
解决:如前面第一个图里面,是main()写成了mian(),改过来后即可。
3,关于main函数的返回,如图3
这里是#111-D警告,statement is unreachable,意思就是程序执行不到这里。这个警告是加入return1之后出现的,因为在前面有一个while(1)循环,所以,不会有返回值。
在编译的时候出现这种报错,就是因为出现了无法执行到的指令。直接去掉return1即可。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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