转载授权以及围不雅观:欢迎添加微信"大众年夜众号: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文件,这个往后再说),这样给别人利用就比较安全。
办理方法:这个也很大略,便是找到该文件的存放目录,选择右键属性,取消设置只读即可。
这便是我分享的几种开拓小技巧,如果大家有什么更好的思路,欢迎分享互换哈。