MDK-ARM工程中各目标(Targets)之间选项(Option)配置有什么区别?
目前很多初学STM32的朋友都还是在使用“STM32xxx_StdPeriph_Lib”标准外设库,但很多朋友打开库提供的工程之后,都不理解工程里各Targets及其配置。
ST官方提供的“标准外设库”里面project下面提供了【例程源代码】和【工程模板】,如下图:
其实,很多朋友都知道,在工程模板(Template)里面有建好的工程,如下图:
但很多朋友直接双击打开工程,看到工程文件有时*,又是红色的“乱七八糟”,就不知所措了。
提示:可能安装MDK-ARM V5版本打开某些库(如STM32F),会出现如下图消息,点击"Migrate to...",再“确定”即可。
只需要拷贝例程(Examples)里面的源代码,替换掉(Template)里面的源代码文件,选择对应芯片,编译、下载即可。
一般有这么几个源文件:
main.c
stm32fxxx_conf.h
stm32fxxx_it.c
stm32fxxx_it.h
system_stm32fxxx.c
选择对应工程Target(目标):
至于上面那些工程文件带“*”,带“钥匙”等各种图标的,实际它都有它的意思,可以参看Keil帮助文档,或者查看我的另一篇文章【Keil综合(02)_工程窗口各项图标描述】,里面有描述各个图标的意思。
这个问题其实我在Keil系列教程里面有提及,估计很多人到现在也没明白。在我的【Keil(MDK-ARM)系列教程(三)_工程目标选项配置(Ⅰ)】中有讲述“工作空间、工程、目标”,它们的各级关系如下图:
Project -> Manage -> Project Items:会出现如下图:
像上面STM32100E-EVAL、STM3210E-EVAL_XL、STM32100B-EVAL等就是一个一个的目标。
Project -> Options for Target ···如下图:
上图就是目标“STM32100E-EVAL”的配置选项,一般我们工程中重要的配置就集中在这里。
上面说了这么多,其实回到主题,我们选择不同的目标,打开对应目标的选项,会发现其实里面有些配置是不一样的。
除了目标选项配置的不一样,还有就是前面的图标,也就是说,有些文件是没有在工程目标中编译,或者说没有包含在工程目标中,具体看我文章【Keil综合(02)_工程窗口各项图标描述】,里面各图标的含义。
至此,细心看过的朋友应该能明白什么是目标,及选项了吧。
关于MDK-ARM的内容还有很多,比如:如何新建多个工程目标,如何新建多个工程(工作空间)等等,或许我在后面还应该会提及,看是否有朋友需要了解,可以留言。
微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,查看更多精彩内容。
长按识别二维码 关注
原创不易,如果内容对你有所帮助,点个赞也是对我的支持和鼓励!