作者:良知犹存

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

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

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

更多分享,扫码关注我

ST在keil下开发时候文件options配置的一些小技巧的更多相关文章

  1. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  2. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  3. Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 具体图文解说

    版权声明:本博客全部文章均为原创.欢迎交流.欢迎转载:转载请勿篡改内容,而且注明出处,谢谢! https://blog.csdn.net/waldmer/article/details/3272500 ...

  4. linux系统下开发环境安装与配置

    安装系统环境 CentOS 6.8 64位 jdk版本 7u80 64位 Tomcat版本 Tomcat7 maven版本 Apache Maven 3.6.0 vsftpd版本 vsftpd-2.2 ...

  5. Win10 UWP开发中的重复性静态UI绘制小技巧 2

    小技巧1 地址:http://www.cnblogs.com/ms-uap/p/4641419.html 介绍 我们在上一篇博文中展示了通过Shape.Stroke族属性实现静态重复性UI绘制,使得U ...

  6. Linux下挂载iso文件和配置yum本地源

    Linux的版本: [root@pbn ~]# head -n 1 /etc/issueRed Hat Enterprise Linux Server release 6.1 (Santiago) 1 ...

  7. Ubuntu 下开发环境的常规配置。

    Install Chinese input (for Chinese peers) We Choose the Sougou pinying.(搜狗) $ sudo apt-get install g ...

  8. WP8.1&Win10开发:TextBox获取和失去焦点小技巧

    获取焦点:用Focus方法让Textbox获取焦点.代码示例:textbox.Focus(FocusState.Pointer); 失去焦点:让其他控件获取焦点,如Textblock控件(注意要将Te ...

  9. Android开发学习之路-提升用户体验小技巧

    记得之前看谷歌的一个视频提到这个用户体验的问题,今天想起来了就写了个Demo来记录下. 当一个事件发生之后,用户需要一段时间才能知道结果,那么这段时间究竟应该让用户干什么?这个问题很常见,比如我们的软 ...

随机推荐

  1. slice,splice,split,unshift的用法

    工作了很久始终对这4个用法处于混淆状态,今天写个帖子来警示下自己 // slice(start,end),从start值开始截取到end前的元素组成新的数组,不改变原数组 // slice(index ...

  2. Azure Terraform(三)部署 Web 应用程序

    一,引言 上一节关于 Terraform 的文章讲到 Terraform 使用到的一些语法,以及通过演示使用 Terraform 在Azure 上部署资源组,极大的方便了基础设施实施人员,也提高了基础 ...

  3. 使用nodejs和express搭建http web服务

    目录 简介 使用nodejs搭建HTTP web服务 请求nodejs服务 第三方lib请求post 获取http请求的正文 Express和使用express搭建http web服务 express ...

  4. Spring源码深度解析之事务

    Spring源码深度解析之事务 目录 一.JDBC方式下的事务使用示例 (1)创建数据表结构 (2)创建对应数据表的PO (3)创建表和实体之间的映射 (4)创建数据操作接口 (5)创建数据操作接口实 ...

  5. 给mysql选择调度策略

    在gun/linux上,队列调度决定了到块设备的请求实际上发送到底层设置的顺序.默认情况下是cfg(完全公平排队)策略,随意使用的笔记本和台式机使用中个调度策略没有问题,并且有助于防止io饥饿,但是用 ...

  6. 创建mysql帐户

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';

  7. 爬虫-使用lxml解析html数据

    使用lxml之前,我们首先要会使用XPath.利用XPath,就可以将html文档当做xml文档去进行处理解析了. 一.XPath的简单使用: XPath (XML Path Language) 是一 ...

  8. SAP 修改表和表中数据

    平时修改表中数据的方式有一下几种: 1.一般就是通过SE11或者是SE16进去,找到那条记录,然后将模式变成EDIT,然后修改保存. 2.通过SQL语句在程序中实现数据库表的修改操作 3.通过SE16 ...

  9. PAT练习num2-挖掘机技术哪家强

    为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 1 的正整数 N,即参赛人数.随后 N 行, ...

  10. linux驱动设备号

    一.设备号基础 一般来说,使用ls -l命令在时间一列的前一列的数字表示的是文件大小,但如果该文件表示的是一个设备的话,那时间一列的前一列将有两个数字,用逗号分隔开,如下图: 前一个数字表示主设备号, ...