你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何在keil编译环境配置stm32

[复制链接]
攻城狮Melo 发布时间:2023-3-26 18:18
Keil编译配置:6 d( w: ?& d  I7 g7 X; m1 K
1、Output选项:选择Objects目录,定位在/Template/Output目录;6 d6 H+ Q1 [+ \, t8 e) s9 f; ^
勾选Create HEX File,这个是下载到芯片中中的映像文件。
9 s& H9 C2 S& a5 |1 N2、Listing选项:选择Listing目录,定位在/Template/Listing目录;0 L3 S8 {( t  `; z( S, H
我想Listing中的文件关系到tag跳转定位,所以如果项目不进行一次编译是不能进行符号、函数的跳转的。
& W( t; C3 K& z6 R0 [' X3、C/C++选项:这个比较关键。首先是需要预定义两个宏:STM32F10X_HD宏,关系到把项目编译成哪种内存容量的程序,如果是高容量就写这个。
, d5 G( u# V+ f3 T% {+ I7 j
USE_STDPERIPH_DRIVER宏,这个用在stm32f10x.h头文件中,如果定义了这个宏则会自动包含stm32f10x_conf.h这个头文件。这个头文件其实是关于外设头文件的总包含头文件,有了这个头文件就不用把外设头文件一个个include了。这个包含链是这样的:stm32f10x.h--->stm32f10x_conf.h--->很多个外设头文件,也就是外设目录/inc目录下的头文件。所以程序中只需要#include <stm32f10x.h>这一个头文件即可。+ ?6 k4 {: ^& Q8 P' T+ x

5 d% ~% D- Q- m  g
宏定义可以在C头文件中定义,这里改在Keil中定义,会自动在以后编译时被作为参数一起编译。好处当然是方便进行芯片更换。
) s! Z. s: H+ H) `, [5 W6 Y! p& \
之后是比较麻烦的IncludePath 设置了。7 [0 ^* V& d$ B. b( I

1 \& ^6 b- o& a4 v1 a5 m
需要添加四个路径包含:Libraries/CMISIS/CM3/DeviceSupport/ST/STM32F10x  +  Libraries/CMISIS/CM3/CoreSupport    +    Libraries/STM32F10x_StdPeriph_Driver/inc  +   /User
( o& `7 l1 `9 n# Z. i这些全都是实体目录,和Group无关。第一个路径上有启动文件和stm32f10x.h头文件和system_stm32f10x.c文件和.h文件。6 \9 P3 s  N' q! r% s$ u
第二个路径上有2个内核文件core_cm3.c及.h文件。
% ?0 I$ W5 i9 w0 r4 F6 W1 t1 Y第三个路径上有外设头文件。第四个路径上就是自己的程序文件。
( @7 p3 x- K7 [$ {7 l# Y4 i如果不设置IncludePath或者设置不正确,那么编译时就不能正确找到项目中用到的所有文件导致编译出错。; l7 r) X4 R# {4 h; P0 p# s# b- Q1 |
其实这是因为所有文件中的#include 包含预处理这是写了简单的头文件名,不含路径,编译程序认为是在项目同一个目录里面,但实际上并不是所有文件都处于同一个目录,所以需要指明到哪里搜寻所需的文件。当然,如果不包含一些路径也可以编译,编译程序会自动到Keil安装目录下的include目录找,里面的文件可能不会是我们需要的或者说可能是旧的。
4 ^8 s, z+ O" q————————————————
4 X$ ^- v: P4 D5 E; i+ e9 C" {版权声明:被大佬糊弄的只会点灯的小菜鸡
3 ^5 G. b" @( Q9 [& T* E如有侵权请联系删除1 n5 L' ]2 [3 V: a% H) ?/ A1 G

) o2 z9 m* a+ |9 c
) c6 q, M% ~& t  C  i4 m8 h: Q6 \6 A; n" f6 R- M  M8 h6 J% l5 L/ |0 o
赞 收藏 评论0 发布时间:2023-3-26 18:18

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版