作者:良知犹存

转载授权以及围观:欢迎添加微信公众号: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. Docker环境下升级PostgreSQL

    查阅PostgreSQL官方文档可以得知,官方提供了两种方式对数据库进行升级--pg_dumpall与pg_upgrade. pg_dumpall是将数据库转储成一个脚本文件,然后在新版数据库中可以直 ...

  2. JS内存

    内存是用来存什么的 通俗的来说呢,就是用来存 var let function const 声明的变量. 内存的大小 与操作系统有关,64位1.4G 32位0.7G. 为啥内存大小要这么设计,为啥不是 ...

  3. LAMP搭建 转

    LAMP搭建 LAMP环境配置安装注意安装步骤及说明事项. (一)           安装gcc gcc glibc-devel glibc-headers kernel-headers libgo ...

  4. 商品类型的下拉框绑定一个事件,通过ajax获取属性

    html代码这么写 <!-- 商品属性 --> <table cellspacing="1" cellpadding="3" width=&q ...

  5. web渗透之常见shell反弹姿势

    常见反弹shell总结: 原文链接请点击:https://ruoli-s.github.io/posts/b956.html 一.bash反弹 通用 ① 在kali机里面开启端口监听: nc -lvv ...

  6. 一条查询SQl是怎样执行的

    MySQL的逻辑架构图 大体来说,MySQL可以分为Server层和存储引擎层两部分. Server层包括连接器.查询缓存.分析器,优化器等,涵盖MySQL的大多核心服务功能,以及所有的内置函数,存储 ...

  7. SDUST数据结构 - chap5 数组与广义表

    选择题:

  8. SAP密码策略挺有意思

    很多系统管理员可能都知道通过RZ10可以配置SAP的密码策略.例如:密码里包含的大小写字符.数字.特殊字符.密码长度.密码不能和前多少次的密码相同.不能和之前的密码有多少位相似等但是你知道吗?其实还有 ...

  9. 《Go 语言并发之道》读后感 - 第四章

    <Go 语言并发之道>读后感-第四章 约束 约束可以减轻开发者的认知负担以便写出有更小临界区的并发代码.确保某一信息再并发过程中仅能被其中之一的进程进行访问.程序中通常存在两种可能的约束: ...

  10. Gradle使用及配置

    构建工具:Gradle(6.8) 下载地址:https://gradle.org/releases/ 下载最新版的二进制文件即可,下载"gradle-6.8.1-bin.zip文件,下载后完 ...