OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7761|回复: 19

请教下,编译f4的单片机,电脑如何配置编译速度比较快 ??

[复制链接]

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
发表于 2016-3-8 14:17:19 | 显示全部楼层 |阅读模式
1金钱
最近打算更换一太电脑,之前的电脑编译 f4的单片机时,速度很慢,使用keil v5xx的,

不知道是配置台式机还是笔记本笔记好,望给点建议 ??!!  谢谢了

最佳答案

查看完整内容[请看2#楼]

1、升级CPU、内存,使用固态硬盘,这是根本。 2、多使用Build[F7](仅编译变化的部分),少用Rebuild(全部重新编译) 3、关闭Browse Information等选项 附:Browse Information选项关闭前后效果对比: (全编译探索者STM32F4库函数版综合测试实验) 速度相差近三倍,效果还是很明显的, 不过去掉这个勾了就不能实现F12跟踪了 --------不正经的分割线--------
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-8 14:17:20 | 显示全部楼层
本帖最后由 xkwy 于 2016-3-8 15:26 编辑

1、升级CPU、内存,使用固态硬盘,这是根本。
2、多使用Build[F7](仅编译变化的部分),少用Rebuild(全部重新编译)
3、关闭Browse Information等选项
g.png

附:Browse Information选项关闭前后效果对比:
(全编译探索者STM32F4库函数版综合测试实验)

be.png

af.png

速度相差近三倍,效果还是很明显的,
不过去掉这个勾了就不能实现F12跟踪了


--------不正经的分割线--------

z (16).jpg

坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

70

主题

6758

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12991
金钱
12991
注册时间
2012-11-26
在线时间
3789 小时
发表于 2016-3-8 15:27:13 | 显示全部楼层
xkwy 发表于 2016-3-8 15:22
1、升级CPU、内存,使用固态硬盘,这是根本。
2、多使用Build[F7](仅编译变化的部分),少用Rebuild(全 ...

我就喜欢看你的回复  
学无止境
回复

使用道具 举报

3

主题

794

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
1502
金钱
1502
注册时间
2015-3-3
在线时间
460 小时
发表于 2016-3-8 16:38:27 | 显示全部楼层
下载新版本的MDK,几个文件一起编译。6
回复

使用道具 举报

43

主题

326

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2240
金钱
2240
注册时间
2014-10-20
在线时间
376 小时
发表于 2016-3-8 16:45:33 | 显示全部楼层
我喜欢把做好不改动的部分做成lib,这样编译起来快好多
回复

使用道具 举报

3

主题

548

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1383
金钱
1383
注册时间
2015-2-3
在线时间
197 小时
发表于 2016-3-8 20:23:50 | 显示全部楼层
不需要的文件去掉或者禁止编译
QQ截图20160308202248.jpg
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-3-8 21:26:48 | 显示全部楼层
xkwy 发表于 2016-3-8 15:22
1、升级CPU、内存,使用固态硬盘,这是根本。
2、多使用Build[F7](仅编译变化的部分),少用Rebuild(全 ...

我目前使用 一代 i7 720的cpu(四核,八线程,主频 1.6G   笔记本的),内存8G,  硬盘使用7200转,
使用编译软件是keil 或者iar,对于同一个项目的程序,iar比keil差不多要快 3/5的速度,
也就是说如果 keil 编 译需要90秒,那么 iar 编译大概就需要25-30秒左右,他们两个怎么差别这么大,我也更换过三星的 250g的ssd的硬盘,
对于编译速度基本没有什么提示或者提示效果不明显,不知道是不是我的cpu不好还是什么原因 ??


还有如果升级cpu,一代的i7 cpu, 目前最高型号是 920xm,主频是2.0,不知道效果怎么样。
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-3-8 21:31:07 | 显示全部楼层
yyx112358 发表于 2016-3-8 20:23
不需要的文件去掉或者禁止编译

我在keil v5.18版本里面没有找到 你红色的框框选项哟,
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-3-8 21:32:10 | 显示全部楼层
hpeng1874 发表于 2016-3-8 16:38
下载新版本的MDK,几个文件一起编译。6

目前已经使用最新版本的 keil v5.18,效果还是一样
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2016-3-8 23:34:15 | 显示全部楼层
其实很简单!
什么电脑都好,什么cpu也无所谓。只要内存大一点就好,虚拟个ram盘,指定obj目录到内存盘,编译瞬间完成。当然把工程全部放在内存盘编译更快,记得适时备份即可。
我的amd处理器电脑,经常玩玩stm32f407的rtt,编译速度快得很。
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2016-3-8 23:36:19 | 显示全部楼层
楼上的建议关闭browse info,速度是快了一些,不过程序复杂调试代码就不方便了。这个不是最佳方法。
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-3-9 08:49:46 | 显示全部楼层
jinggx 发表于 2016-3-8 23:36
楼上的建议关闭browse info,速度是快了一些,不过程序复杂调试代码就不方便了。这个不是最佳方法。

关闭这个 功能 有些不妥哟到时每次查找都需 ctrl + f 了,比较麻烦
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-3-9 08:50:54 | 显示全部楼层
本帖最后由 hpdell 于 2016-3-9 08:52 编辑
jinggx 发表于 2016-3-8 23:34
其实很简单!
什么电脑都好,什么cpu也无所谓。只要内存大一点就好,虚拟个ram盘,指定obj目录到内存盘, ...

请教下具体 如何设置啊,能否搞个图片+说明的东东来分享一下啊 ?!!
如果要是能够加大内存解决的话,那我就加大内存,反正我的笔记本 有四个内存插槽,目前已经使用2个,还有两个是空着没有使用,现在的内存估计也不怎么贵,总比换电脑划算哟

我目前的这台电脑,除了编译f4的程序比较慢外,其他用途还是足够的了
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2016-3-9 13:03:38 | 显示全部楼层
1,装个软件,在内存中虚拟一块硬盘出来,现在这种软件挺多的,我用的是Primo Ramdisk,怎么用就自己在网上找教程吧,这点小问难不住你的。
2,把你的整个工程目录全复制到虚拟盘中再打开、编译,速度必定成倍提升。

顺便说两句这样做的原理:
编译速度慢,最大的瓶颈在于编译器经频繁读 xxx.c, xxx.h文件,尤其是工程中代码文件越多越费时间,读入源代码后还要输出相对应的 xxx.obj 文件,如此之多的零碎文件必然耗时。内存虚拟盘的读写速度远远高于硬盘,所以可以提升编译速度。

再说两句电脑技巧:
有了虚拟盘之后,把用户的变量指定要虚拟盘中;
把网页缓存指定到虚拟盘中;
把下载目录、QQ文件夹等都指定的虚拟盘中;
如上设置之后, 你会发现电脑也变快很多,尤其是winrar,ps, td等程序。
有4G以上内存的都可以试,能有8G最好。我的电脑配了16G,事实结果发现,16G有点浪费了,8G一盘足够了。
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-3-9 17:00:07 | 显示全部楼层
本帖最后由 hpdell 于 2016-3-9 17:05 编辑
jinggx 发表于 2016-3-9 13:03
1,装个软件,在内存中虚拟一块硬盘出来,现在这种软件挺多的,我用的是Primo Ramdisk,怎么用就自己在网上 ...

好的,我立马试试看,我的电脑也就是8g内存的,win10 x64 系统

刚刚找了个
Primo Ramdisk Server Edition(服务器版) 5.6.0  这个版本的,但是据说没有破解软件下载地址:
http://dl.pconline.com.cn/download/352686.html


你有没有破解软件共享一下啊 !!??
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-9 22:39:23 | 显示全部楼层
jinggx 发表于 2016-3-9 13:03
1,装个软件,在内存中虚拟一块硬盘出来,现在这种软件挺多的,我用的是Primo Ramdisk,怎么用就自己在网上 ...

我编译时CPU占用率100%,其他的占用率都比较小,
而且放在固态硬盘里编译找你的说法应该会更快,但并非如此。

我觉得CPU是瓶颈所在
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2016-3-10 09:45:46 | 显示全部楼层
xkwy 发表于 2016-3-9 22:39
我编译时CPU占用率100%,其他的占用率都比较小,
而且放在固态硬盘里编译找你的说法应该会更快,但并非 ...

我说的意思是放在内存里,不是硬盘。
你为什么觉得放在SSD里编译会更快呢?是与机械盘比还是与我说的RAM盘对比?
你觉得SSD速度很快,却算是被SSD性能的表面现象忽悠的。SSD读写是快,那是对连续读写而言的,对于4K随机读写却好不到哪里去,而程序代码及obj输出恰恰都是碎文件。
算了,那你升级个CPU试试吧
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-10 09:58:00 | 显示全部楼层
jinggx 发表于 2016-3-10 09:45
我说的意思是放在内存里,不是硬盘。
你为什么觉得放在SSD里编译会更快呢?是与机械盘比还是与我说的RAM ...

有道理。
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-10 09:58:21 | 显示全部楼层
jinggx 发表于 2016-3-10 09:45
我说的意思是放在内存里,不是硬盘。
你为什么觉得放在SSD里编译会更快呢?是与机械盘比还是与我说的RAM ...

升级CPU太贵了,还得换主板。。。
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-3-10 10:15:30 | 显示全部楼层
本帖最后由 hpdell 于 2016-3-10 19:35 编辑
xkwy 发表于 2016-3-9 22:39
我编译时CPU占用率100%,其他的占用率都比较小,
而且放在固态硬盘里编译找你的说法应该会更快,但并非 ...

我的cpu还可以升级一下的,需要花680大洋,我的这个cpu他们可以回收,260大洋,实际价格我就420大洋了,我的主板不用更换,

如果使用内存虚拟一个硬盘出来,理论上应该会快些,我今天试试看,如果有所提升,我再更换个cpu,如果没有什么提升,那么cpu我也木有必要更换cpu了


刚刚已经试过了,编译的速度基本没有什么变化,看来要摸更换电脑,要摸就这么继续使用了啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 09:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表