keil5点击F7每次都重新编译RTE库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil5点击F7每次都重新编译RTE库相关的知识,希望对你有一定的参考价值。

使用keil5自带的固件库,添加了之后每次都要编译一遍RTE中的文件,怎样解决?

参考技术A 把以下3个勾去了, 就OK, 我是去了第二个时, 就正常了!
1:project--option for target 'xxx' ---target---Code Generation-- 将Use Cross-Module Optimization勾选去掉
2:project--option for target 'xxx' ---Listing---将C Preprocessor Listing:.\Listings*.I 的勾选去掉。
3:project--option for target 'xxx' ---Output---将Create Batch File的勾选去掉。
参考技术B 全编译,顾名思义,就是把工程里所有的文件都编译一遍,不管这个文件是否有过改动,所以时间很长,因为这个过程是编译--链接---生成HEX文件,所以,如果你文件很多,代码很多,时间就很长。而半编译是只对你改动过的文件进行重新的编译,所以,过程是编译部分文件--重新链接--生成HEX.如果你不是把Keil的优化等级调到了8级及以上,用半编译完全没问题。追问

我的问题不是这个。我使用的就是半编译,半编译不会重新编译我自己添加的文件,但是会反复编译RTE库中的文件

keil5如何开启代码自动补全及如何加快编译速度

在这里插入图片描述


前言

keil的一些配置相关

一、keil5代码自动补全

对于一些stm32自带的一些库函数有时候名字很长,如果自己敲的话就很很麻烦,甚至有时候会敲错。好在keil有自动补全这一功能,大大提高了编程速度。
步骤:1、打开keil5,点击edit,configraution
在这里插入图片描述
选择跟编译相关的Text Completion,然后勾线第三个
在这里插入图片描述
测试结果是没有问题的。
在这里插入图片描述

二、keil加快编译速度

我们编程人员是很在意编译速度的,keil5在代码量大的时候,编译速度简直了。特别是使用STM32cubeMX生成工程的时候,编译速度龟速。这里教大家一个小技巧。
点击我们的魔术棒。进入output
在这里插入图片描述
把我们的文件信息这一选项取消勾选这个功能是使用go to definetion的,如果不勾选那肯定不行啊,我们编程经常用到go to definetion。别急,我们没了这个功能我们可以想别的办法,但是编译速度我们没法忍。

在这里插入图片描述
在这里插入图片描述
这是没有勾选之前,编译整整编译了三分钟!抓狂。这完全就是两个不同的世界。
在这里插入图片描述

勾选之后20秒钟就可以了
在这里插入图片描述

三、go to definetion问题如何解决

我们可以换一种方式来替代go to definetion。例如我们想看MX_GPIO_Init();这个函数
按Ctrl+F,就会弹出这个窗口。选择current project,他就会在整个工程里面找
在这里插入图片描述
这样他就会帮我们找到了,他会帮你包含这个名字的函数或者声明
在这里插入图片描述

总结

对于加快编译速度来说,这不失为一种方法,但是你得到某些东西的话,你总会失去某些东西,比如go to definetion。这里建议大家慎用。
在这里插入图片描述

以上是关于keil5点击F7每次都重新编译RTE库的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 每次都重新编译单个文件

如何使用keil5将stm32的hal库编译成lib文件——F1版本

idea每次修改都要重新编译

Keil4 每次选build 编译(F7)都全部编译的解决办法

如果从命令行运行 Julia 脚本,是不是每次都需要重新编译?

mexopencv 每次重启 Matlab 都需要重新编译