大家好,我是张巧龙,如何提高Keil MDK的编译速度?看下方步骤!

1. 构建项目

这个项目基于STM32F407,在此基础上还添加了FreeRTOSLWIP TCP/IP 协议栈,所以整体的代码量就被协议栈和RTOS弄得很大,每次构建项目或者重新构建项目的时候,都要花很长的时间,如下图所示;

可以看到,在这里我用了3分钟。这个时间太长了,会大大影响我的开发效率,所以后面尝试了几个方法,提高构建的速度。

2. 解决方案

首先我找到一个解决办法就是在构建过程中防止生成 Browse Information 文件。

配置

想要在项目配置中将这个选项勾选去掉即可,最终实践发现,项目构建时间缩短到 24秒 ,整体还可以接受。

优化后的时间

主要原因其实是构建的时候,避免生成 .CRF 文件,生成这个文件的主要作用就是我们在进行代码编辑的时候,宏定义,函数原型,函数声明可以进行跳转。

CRF

官方文档中的解释:Cross-Reference file containing browse information (definitions, references for identifiers).

如果选择不生成这个文件,代价就是牺牲了我们写代码的效率

因为我们写代码的时候,会频繁地进行函数原型和函数声明直接的跳转,有时候要跳转到宏定义,如果无法进行跳转,使用Keil MDK只能使用全文搜索来替代,因此一定程度上会降低效率。

进行跳转

当我们尝试跳转到函数声明时,最终提示如下:

错误提示

这时候,我喜欢配合其他编辑器,比如source insightvs code,代码编辑的工作放在其他体验更好的软件中进行,然后代码的构建和调试又重新回到keil mdk,发挥各自的优势。

之前写过一篇使用EIDE的插件,在vs code中导入keil mdk的项目进行开发,在vs code中调用arm cc进行项目的构建。

EIDE在VSCODE中的构建时间

整体的构建时间为 30秒 ,可以接受,然后还能充分发挥vs code在代码编辑上的优势,感兴趣的可以试一下。

3. 总结

今天的介绍的挺简单,主要是在keil mdk下开发,构建项目时会产生.CRF文件,从而使构建速度大大降低,从而影响开发效率。

具体的解决办法是避免生成.CRF文件,但是会影响整体函数原型和声明以及宏定义的跳转,可以通过全文搜索,或者借助其他编辑器作为辅助手段来解决。


推荐阅读:点击下方图片即可跳转阅读

-END-

我是张巧龙,一名教电子的大学老师,欢迎关注!

Keil 编译太慢怎么办?教你一招,提速10倍相关推荐

  1. VSCODE下载太慢(教你一招解决)

    Visual studio code下载太慢大多数是因为VSCODE官网服务器跟我们国内的链接速度有关,下面教大家一招解决下载过慢问题. 解决办法很简单就是替换掉下载域名,例如我们在VSCODE官网上 ...

  2. 【物联网】老程序教你一招,10行代码让超声波模块秒变声控开关

    目录 1. 超声波模块的测距原理 2. 超声波模块如何与Arduino开发板连接 3. 先从测距开始 4. 如何将超声波改造成声控开关 5. 再加一个超声波开关 在本文最后有完整的视频讲解 玩Ardu ...

  3. 百度网盘下载资源太慢,教你一招,速度直接提升到10MB/s

    前提: 1.一台Windows电脑(手机不支持) 2.百度网盘桌面端 如果没有下载,单击这里下载 注意: 这个教程用的是官方设置,不是第三方的辅助软件,所以没有封号的风险,可能哪天就没有这个功能了,所 ...

  4. 2020移动apn接入点哪个快_手机WiFi网速度太慢?教你一招网速翻倍好用,比5G还快...

    手机WiFi网速慢似蜗牛速度,出现这样的情况时,不要怀疑是你的WiFi有问题,其实只是你的手机不会设置,导致在连接WiFi使用手机时网速非常缓慢.下面就教大家一招快速提升网速,让你的手机瞬间流畅. 方 ...

  5. linux vtune 生成文字报告,文字报告太枯燥,教你一招,只需十分钟,一屏可视化!...

    ​我们都明白,相对于枯燥的文字,一些有视觉冲击的事物印象更深.在工作过程中,如在日常的工作汇报中,将采集到的数据信息进行统计.分析,再将数据用图形的方式表达.会方便我们对数据的把控,更直观了解到数据情 ...

  6. linux otg 大容量存储设备,大容量存储个人设备有哪些 | 教你一招解决大容量存储多种问题_什么值得买...

    移动固态硬盘不仅贵而且局限太大?教你一招解决大容量存储多种问题 2020-07-16 23:26:00 3点赞 25收藏 17评论 创作立场声明:文章尽量客观,能够覆盖产品的优点和不足. Hello大 ...

  7. 重装系统后桌面找不到计算机,电脑重装找不到桌面文件了?教你一招,再也不用担心文件消失!...

    原标题:电脑重装找不到桌面文件了?教你一招,再也不用担心文件消失! 在工作中,我们习惯性的都会将一些文件直接保存在桌面,这样方便我们去查找,但是也会遇到电脑系统崩溃,需要重装电脑,不过这时候在登录到桌 ...

  8. KEIL编译stdarg处理机制遇到incorrect use之类的问题

    文章转自:https://blog.csdn.net/chengdong1314/article/details/74625528 SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4 ...

  9. keil编译c语言检测,keil c中没有使用到的函数会编译时候会有警告

    想写一个模块,模块里面有我常用的一些功能函数,比如: a.h文件 #ifndef _a_h_ #define _a_h_ extern void one(void); extern void two( ...

最新文章

  1. 数据库基础笔记(MySQL)6 —— 基础事务
  2. 关于page object(PO)模型的介绍
  3. python完全支持面向对象编程_[Python] 类与面向对象编程
  4. 曹大:我的快速阅读法
  5. Spring boot系列--redis使用之1
  6. Effective_STL 学习笔记(二十七) 用 distance 和 advance 把 const_iterator 转化成 iterator...
  7. .Net Core及.Net Standard主要概念回顾
  8. ora使用动态sql给变量赋值
  9. 从零开始搭二维激光SLAM --- Karto的后端优化与回环检测的实现解读
  10. iOS Crash类别总结
  11. 转 GRE -- ME 似乎有件事,一直等待着我去做,努力去做。
  12. lzg_ad:EWF启用常见问题及解决方案
  13. kaminari分页插件的使用
  14. 机器学习-泰坦尼克号幸存者预测
  15. IC设计书籍信息收集
  16. Postgresql 配置文件详解
  17. 音视频开发之旅(34) - 基于FFmpeg实现简单的视频解码器
  18. 大豆烘干设备原理,大豆烘干步骤
  19. 计算机网络原理复习(一)
  20. 特征提取与检测(二) --- SIFT算法

热门文章

  1. MyTask - old implementation - getEntitySet
  2. where is Angular parts filled
  3. How to deal with error message Could not start the app due to a configuration problem
  4. CRM Extension field render and property handling
  5. RFC Destination WORKFLOW_LOCAL_001 - User WF-BATCH
  6. SAP ABAP实用技巧介绍系列之 ABAP内存管理学习
  7. where used list repository table WBCROSSGT
  8. SAP UI5关于navigation API的boolean参数
  9. SAP CRM里使用BAdI阻止产品主数据保存的一种办法
  10. Excel2019(Office 2019)导入数据网页(文本txt)无法显示以前样式的问题(终极解决方案)