查看原文
其他

MDK-ARM工程中各目标(Targets)之间选项(Option)配置有什么区别?

strongerHuang strongerHuang 2021-01-31



目前很多初学STM32的朋友都还是在使用“STM32xxx_StdPeriph_Lib”标准外设库,但很多朋友打开库提供的工程之后,都不理解工程里各Targets及其配置。


1写在前面

ST官方提供的“标准外设库”里面project下面提供了【例程源代码】和【工程模板】,如下图:


其实,很多朋友都知道,在工程模板(Template)里面有建好的工程,如下图:


但很多朋友直接双击打开工程,看到工程文件有时*,又是红色的乱七八糟”,就不知所措了。


提示:可能安装MDK-ARM V5版本打开某些库(如STM32F),会出现如下图消息,点击"Migrate to...",再“确定”即可。


2如何使用例程

只需要拷贝例程(Examples)里面的源代码,替换掉Template)里面的源代码文件,选择对应芯片,编译、下载即可。


一般有这么几个源文件:

main.c

stm32fxxx_conf.h

stm32fxxx_it.c

stm32fxxx_it.h

system_stm32fxxx.c


选择对应工程Target(目标):


至于上面那些工程文件带“*”,带“钥匙”等各种图标的,实际它都有它的意思,可以参看Keil帮助文档,或者查看我的另一篇文章【Keil综合(02)_工程窗口各项图标描述】,里面有描述各个图标的意思。


3什么是工程目标(Target)

这个问题其实我在Keil系列教程里面有提及,估计很多人到现在也没明白。在我的【Keil(MDK-ARM)系列教程(三)_工程目标选项配置(Ⅰ)】中有讲述“工作空间、工程、目标”,它们的各级关系如下图:


 Project -> Manage -> Project Items:会出现如下图:

像上面STM32100E-EVAL、STM3210E-EVAL_XL、STM32100B-EVAL等就是一个一个的目标。


4什么是工程目标选项(Option)

Project -> Options for Target ···如下图:

上图就是目标“STM32100E-EVAL”的配置选项,一般我们工程中重要的配置就集中在这里。


5回归主题

上面说了这么多,其实回到主题,我们选择不同的目标,打开对应目标的选项,会发现其实里面有些配置是不一样的。


除了目标选项配置的不一样,还有就是前面的图标,也就是说,有些文件是没有在工程目标中编译,或者说没有包含在工程目标中,具体看我文章【Keil综合(02)_工程窗口各项图标描述】,里面各图标的含义。


至此,细心看过的朋友应该能明白什么是目标,及选项了吧。


6最后

关于MDK-ARM的内容还有很多,比如:如何新建多个工程目标,如何新建多个工程(工作空间)等等,或许我在后面还应该会提及,看是否有朋友需要了解,可以留言。



微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,查看更多精彩内容。


长按识别二维码 关注




原创不易,如果内容对你有所帮助,点个赞也是对我的支持和鼓励!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存