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

如何在keil编译环境配置stm32

[复制链接]
攻城狮Melo 发布时间:2023-3-26 18:18
Keil编译配置:
- o/ l9 a3 j; x2 m* C# w) X3 J2 d6 r1、Output选项:选择Objects目录,定位在/Template/Output目录;
, V9 }! ^+ S6 C( O7 `7 M. k! s. O勾选Create HEX File,这个是下载到芯片中中的映像文件。3 ^4 Q) w, Z5 r. F& @+ |5 A
2、Listing选项:选择Listing目录,定位在/Template/Listing目录;  g0 y7 ^. x* |- k
我想Listing中的文件关系到tag跳转定位,所以如果项目不进行一次编译是不能进行符号、函数的跳转的。" W* U$ p; H1 |, L, ^  D- o, x
3、C/C++选项:这个比较关键。首先是需要预定义两个宏:STM32F10X_HD宏,关系到把项目编译成哪种内存容量的程序,如果是高容量就写这个。0 n/ R  J' |( S; L' g! p
USE_STDPERIPH_DRIVER宏,这个用在stm32f10x.h头文件中,如果定义了这个宏则会自动包含stm32f10x_conf.h这个头文件。这个头文件其实是关于外设头文件的总包含头文件,有了这个头文件就不用把外设头文件一个个include了。这个包含链是这样的:stm32f10x.h--->stm32f10x_conf.h--->很多个外设头文件,也就是外设目录/inc目录下的头文件。所以程序中只需要#include <stm32f10x.h>这一个头文件即可。
$ F; x) D+ _' L3 R$ f' m1 f
& H3 Y% S# Q8 d# [" l! h1 s$ B
宏定义可以在C头文件中定义,这里改在Keil中定义,会自动在以后编译时被作为参数一起编译。好处当然是方便进行芯片更换。
4 r# w( u. ]( m, A! r, O
  H& f7 p) p8 u, A0 v6 k% t; C% s
之后是比较麻烦的IncludePath 设置了。
) W8 k6 [6 W* w" p! c7 J, W3 _; f% i# b
需要添加四个路径包含:Libraries/CMISIS/CM3/DeviceSupport/ST/STM32F10x  +  Libraries/CMISIS/CM3/CoreSupport    +    Libraries/STM32F10x_StdPeriph_Driver/inc  +   /User( x5 ^- I- `4 P+ z2 E, M9 N
这些全都是实体目录,和Group无关。第一个路径上有启动文件和stm32f10x.h头文件和system_stm32f10x.c文件和.h文件。
% ]/ {1 P6 B' ]6 ~  B$ O; [第二个路径上有2个内核文件core_cm3.c及.h文件。6 o% ^2 t3 a; z( Q
第三个路径上有外设头文件。第四个路径上就是自己的程序文件。
8 ?) y2 D/ G# m2 v9 P如果不设置IncludePath或者设置不正确,那么编译时就不能正确找到项目中用到的所有文件导致编译出错。
# E% T" L1 [) p" p1 ~! J2 J6 q; L其实这是因为所有文件中的#include 包含预处理这是写了简单的头文件名,不含路径,编译程序认为是在项目同一个目录里面,但实际上并不是所有文件都处于同一个目录,所以需要指明到哪里搜寻所需的文件。当然,如果不包含一些路径也可以编译,编译程序会自动到Keil安装目录下的include目录找,里面的文件可能不会是我们需要的或者说可能是旧的。$ s* z# y" L6 a6 e* ~6 Z0 u
————————————————
9 _7 c+ y% a/ d版权声明:被大佬糊弄的只会点灯的小菜鸡
* ^: Z6 r' _! e7 V. [1 T如有侵权请联系删除
7 B& x, d2 C2 d" N- e& b9 L8 B; S! u9 z7 _! x0 F& C- e' n

! H5 ~$ p) J' t' v0 t8 U& A' A6 W2 @
收藏 评论0 发布时间:2023-3-26 18:18

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版