Contents
  1. 1. mspc manager占用CPU问题
  2. 2. 并行编译参数
  3. 3. 编译器选择
  4. 4. 编译器选项

mspc manager占用CPU问题

前段时间,我遇到一个情况是,Keil原本编译程序的速度还是比较快的,但是一夜之间就很慢。原本一分钟不到就可以全量编译,但是后面就需要5分钟以上,而且还有可能会未响应。

于是,我就在编译的时候,打开任务管理器,然后就发现了是一个叫做微软电脑管家的东西的CPU占用率很高。在详细信息下是叫做mspcmanager的东西,对应是一个自启动的MSPCManager Service服务,直接结束进程没什么用。只能是在Windows11的设置里面卸载这个Microsoft PC Manager。如果卸载不掉,就得用UninstallITool这个工具。

微软官家这玩意本质上就是个杀毒软件一样的作用,只要是杀毒软件,都有可能影响到编译速度。因为会有监控。

并行编译参数

Keil5是有并行编译的,在菜单开始的Edit -> Configuration -> Other -> Parallel Build Configuration这个里面,不要禁用并行编译,然后就是并行编译数量Number of parallel jobs尽可能拉到最大。

编译器选择

编译器选择是在Option for target(魔术棒)的Target里面的,就是ARM Compiler这个东西,尽可能使用v6,因为这个比较快。但是注意的是,CubeMX生成的FreeRTOS还不支持,可以参考https://blog.csdn.net/tytyvyibijk/article/details/125589038这篇文章来适配。

编译器选项

编译器选项是在Option for targetC/C++里面,对于非最终版本的情况下,也就是开发代码的情况下。Optimization这个优化等级调到-O0,其次是Link-Time Optimization这个链接时候优化也不要开。Execute-only Code也不要开,这个功能是裁剪掉不运行的代码,但是会让编译时间变长。One ELF Section per Function要开,因为没有这个优化的话,有可能编译出来的程序过大。

Contents
  1. 1. mspc manager占用CPU问题
  2. 2. 并行编译参数
  3. 3. 编译器选择
  4. 4. 编译器选项