zoukankan      html  css  js  c++  java
  • ST在keil下开发时候文件options配置的一些小技巧

    作者:良知犹存

    转载授权以及围观:欢迎添加微信公众号: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文件,这个以后再说),这样给别人使用就比较安全。

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

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

    更多分享,扫码关注我

  • 相关阅读:
    时间转换成时间戳
    元字符为名称的时候,使用两个反斜杠转义:\
    批量修改文件夹及文件用户权限和用户组权限 centos
    HDU6797 多校第三场 Tokitsukaze and Rescue
    AtCoder Regular Contest 103 E
    2020牛客第六场 B题 Binary Vector
    Codeforces Round #659 (Div. 2) B1. Koa and the Beach (Easy Version)
    Codeforces Round #659 (Div. 2) C. String Transformation 1
    Codeforces Round #659 (Div. 2) D GameGame
    P3194 [HNOI2008]水平可见直线 计算几何栈维护下凸壳
  • 原文地址:https://www.cnblogs.com/conscience-remain/p/13527288.html
Copyright © 2011-2022 走看看