ST 在 keil 下开发时候文件 options 配置的一些小技巧

用户头像
良知犹存
关注
发布于: 2020 年 08 月 19 日

作者:良知犹存

转载授权以及围观:欢迎添加微信公众号:Conscience_Remains

总述

    这是之前ST芯片载keil下开发时候总结的一些代码文件options配置小笔记,虽然不是很复杂但是在使用的过程中很方便,这里给大家介绍一下。一个是一个bug介绍,第二个是多个同名代码文件的条件编译,第三个是“文件的解锁/开锁”。



一、bug解释







keil编译遇到这样的提示

FCARM - Output Name not specified,please check 'Options for Target - Utilities'

 

一般是原因是加载文件时为了选择.md .TXT等非.c.h.lib说明文件,而且在配置选项选择了代码文件被一同编译。

解决方法如下:

将工程目录里面非程序的文件,右键并选择第一项Options,





file Type选项中,将文件设置为Text文本属性,问题解决。







二、多个同名的代码文件的选择编译设置









我们经常可以在group里面看到一些有红色横杠或者雪花一样的图标,而且一般这些文件都是同样的作用,我们不禁想问,同样作用甚至相同名称的文件为什么可以在一个group下可以编译通过。



下面我就教大家如何把相同的文件进行不同条件的编译:



和第一个技巧的操作类似,第一步先选择文件,右键选择Options选项,这个时候如果是正常显示的文件,则在Properties一栏的右上角,Include in Target Build 和 Always Build是灰色勾选的状态,代表此文件在keil下编译是否会被视作需要编译的文件,否则该文件不被编译。





下面我就选择了system_stm32f0xx.c的文件进行去掉被编译的选项,然后在groups一栏中文件显示红色禁止横杠,显示该文件待会编译的时候不进入编译。







使用场景:一般我们代码进行条件编译会用#if #endif,但是有时候出现不同条件下代码差异巨大,必须用文件来进行区分的时候,我们就可以用这样的配置进行条件编译,我之前底层代码有些用STD库,有些用LL库,我为了方便就选择了使用批量设置文件不进入编译选择。



三、文件的解锁与开锁





我们在开发的时候有时候会遇到groups下面的文件上方有一个小锁的标志,那么这个锁意思是什么呢?







这个在keil的实时环境配置(因为这些文件都来自keil安装目录下,一旦修改所有调用的代码都被更改)的文件中很常见,是为了防止使用者修改代码。说白了,就是该文件只可被读,不可被写,这样使用者就无法修改文件里面的内容了。







但是有些时候我们使用的时候也需要修改,甚至我们也想把代码给其他人使用的时候提前设置成只读模式(还有lib文件,这个以后再说),这样给别人使用就比较安全。







解决方法:这个也很简单,就是找到该文件的存放目录,选择右键属性,取消设置只读即可。







 这就是我分享的几种开发小技巧,如果大家有什么更好的思路,欢迎分享交流哈。





更多分享,扫码关注我



发布于: 2020 年 08 月 19 日 阅读数: 26
用户头像

良知犹存

关注

还未添加个人签名 2020.05.29 加入

还未添加个人简介

评论

发布
暂无评论
ST在keil下开发时候文件options配置的一些小技巧