0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Keil MDK使用编译器AC5与AC6生成浏览信息的差异有哪些

strongerHuang 来源:strongerHuang 作者:strongerHuang 2021-01-18 11:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

很多使用过Keil MDK的工程师都发现了一个问题,Keil MDK编译代码的时候,速度很慢。 编译速度慢有几个原因:

编译器

代码量大小

工程配置(生成信息)

其中工程配置中生成信息包含多种,打开工程选项卡就能看见。Project -> Options for Target -> Output / Listing:

ebacc578-58f7-11eb-8b86-12bb97331649.png

ebcb7810-58f7-11eb-8b86-12bb97331649.png

这里面有很多信息都会影响编译速度,其中生成浏览信息(Browse Information),下面就来讲讲关于浏览信息的内容。

嵌入式专栏

1

关于Keil浏览信息

Keil中浏览信息,就是我们平时编辑调试时,右键(或者F12快捷键)使用Go To Definition xxx时所需要浏览的代码信息:

ebf893cc-58f7-11eb-8b86-12bb97331649.png

需要在工程配置中勾选生成浏览信息才能正常使用该功能:

ec2734de-58f7-11eb-8b86-12bb97331649.png

生成浏览信息会比较影响编译速度,同时在Objects(OutPut配置输出路径)文件夹下面会多出*.crf文件(浏览信息文件)。 关于Keil MDK中各种文件的描述,可以参看我的文章:Keil系列教程10_文件类型及相关描述。

嵌入式专栏

2

AC5与AC6生成浏览信息的差异

Keil MDK编译器默认是使用Arm Compiler(简称AC),目前主流的就是AC5和AC6.

之前也给大家分享过关于AC5和AC6的文章:

全面认识ARM编译器AC6.12Keil MDK 编译器 AC5 和 AC6 优化选项重要内容和区别

其实AC5和AC6还真有很多地方不同,之前使用AC5的代码工程,很多地方都存在兼容性问题。

1.AC5和AC6生成浏览信息速度不同

如果不生成浏览信息(不勾选),AC5的编译速度其实也不算慢。

但是,一般情况下,软件开发工程师为了方便编辑和调试代码,一般都会生成浏览信息。

AC5和AC6明显的区别就是编译速度上差异很大,AC6即使生成浏览信息,在编译的时候,速度相比AC5快很多。

而且代码量也有差异:

ecc545de-58f7-11eb-8b86-12bb97331649.png

2.AC5和AC6生成浏览信息方式不同

如果你使用过AC6,你会发现:在不用编译的情况下,可以直接Go To Definitionxxx浏览代码。

比如:你直接使用STM32CubeMX配置生成Keil MDK的代码,修改配置,使用AC6编译器,你会发现不用编译就可以直接Go To Definition。

当然,前提你要配置使用AC6编译器:

ecf4a1a8-58f7-11eb-8b86-12bb97331649.png

还有,AC6生成浏览信息是在后台自动完成的,可能需要等待几秒钟或者更长时间(与你电脑配置有关)。

责任编辑:xj

原文标题:Keil MDK使用编译器AC5与AC6生成浏览信息的差异

文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • keil
    +关注

    关注

    69

    文章

    1232

    浏览量

    173137
  • 编译器
    +关注

    关注

    1

    文章

    1672

    浏览量

    51900
  • MDK
    MDK
    +关注

    关注

    4

    文章

    211

    浏览量

    33728

原文标题:Keil MDK使用编译器AC5与AC6生成浏览信息的差异

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Aimtec AMFE305150 AC EMC滤波:助力AC - DC应用稳定运行

    旨在为AC电源浪涌提供保护。它能帮助AC - DC转换满足IEC/EN61000 - 4 - 5标准的浪涌等级(±2KV(2Ω内阻)或±4KV(12Ω内阻)),以及CISPR32/E
    的头像 发表于 03-28 09:05 286次阅读

    使用 Keil Studio for Visual Studio Code开发 STM32 设备

    与业界工具的无缝集成、版本控制支持,以及用于 CI 工作流的命令行接口(CLI)。 Keil Studio 作为 Arm Keil MDK 6的一部分,为基于 CortexM 的微控制
    的头像 发表于 03-05 17:41 3848次阅读
    使用 <b class='flag-5'>Keil</b> Studio for Visual Studio Code开发 STM32 设备

    Keil5中查看栈大小

    :打开生成的.map文件,在Image Symbol Table部分查找栈的相关信息,包括栈的大小和使用情况。 3、利用IDE的功能: 方法说明:Keil编译器
    发表于 11-14 06:32

    5 GHz,802.11ac,支持 LAA 的前端模块 skyworksinc

    电子发烧友网为你提供()5 GHz,802.11ac,支持 LAA 的前端模块相关产品参数、数据手册,更有5 GHz,802.11ac,支持 LAA 的前端模块的引脚图、接线图、封装手
    发表于 10-28 18:30
    <b class='flag-5'>5</b> GHz,802.11<b class='flag-5'>ac</b>,支持 LAA 的前端模块 skyworksinc

    scons --target=mdk5编译不成功如何解决?

    使用scons —target=mdk5编译不成功,报错如下: scons --target=mdk5 scons: Reading SConscript files ... UV4.exe
    发表于 09-26 07:20

    nano版本使用AC6编译器下,不显示msh怎么解决?

    ;gt; 字符串。 排查问题大概猜测应该是 FinSH 根本就不工作,主要原因很可能是 AC6 版本没有把FinSH那些代码编译到最终的bin文件。 网上说要修改链接文件,但是网上的资源都是gcc编译器的链接文件。 暂时不知道
    发表于 09-25 07:19

    rt_list_for_each_entry编译失败怎么解决?

    ,这个宏是在rtservice.h中定义的 网上搜了一遍,好心的网友说可以在AC5编译器里增加—gnu 我尝试了一下行不通,AC6编译器
    发表于 09-18 07:14

    请问如何在keil μVision 5上进行ARM编译器的代码优化?

    如何在keil μVision 5上进行ARM编译器的代码优化?
    发表于 08-20 07:37

    如何在Keil中将NuMicro BSP从Arm编译器5迁移到编译器6

    Keil中将NuMicro BSP从Arm编译器5迁移到编译器6
    发表于 08-20 06:29

    CW32L011_PD Power 口袋电源活动

    。 **关于编译: 无论AC6还是AC5,优化等级都需要 -O0。 使用AC5时,需要选择cmsis包5.9.0。** 供电需要插在边缘的type-C口。然后连上调试线,就可以方便地
    发表于 08-17 11:06

    stm32f407ZGT6生成的bootloader打印的app分区偏移地址正常吗?

    stm32f407ZGT6生成的bootloader打印的app分区偏移地址正常吗?bootloader使用iot平台配置自动生成的,日志信息如下图
    发表于 08-15 08:24

    求助,关于NanoEdge AI Studio生成的库交叉编译器版本疑问求解

    20231009\", 那么问题来了,怎么在NanoEdge AI Studio设定交叉编译器呢,比如设置为armcc、armclang、iccram,因为我需要将库加到keil或者iar工程里面。 看样子这个软件生成的库是a
    发表于 08-08 07:25

    5 GHz 802.11ac WLAN 前端模块 skyworksinc

    电子发烧友网为你提供()5 GHz 802.11ac WLAN 前端模块相关产品参数、数据手册,更有5 GHz 802.11ac WLAN 前端模块的引脚图、接线图、封装手册、中文资料
    发表于 06-18 18:33
    <b class='flag-5'>5</b> GHz 802.11<b class='flag-5'>ac</b> WLAN 前端模块 skyworksinc

    5 GHz,802.11ac 前端模块 skyworksinc

    电子发烧友网为你提供()5 GHz,802.11ac 前端模块相关产品参数、数据手册,更有5 GHz,802.11ac 前端模块的引脚图、接线图、封装手册、中文资料、英文资料,
    发表于 06-05 18:32
    <b class='flag-5'>5</b> GHz,802.11<b class='flag-5'>ac</b> 前端模块 skyworksinc

    5 GHz,802.11n/ac 前端模块 skyworksinc

    电子发烧友网为你提供()5 GHz,802.11n/ac 前端模块相关产品参数、数据手册,更有5 GHz,802.11n/ac 前端模块的引脚图、接线图、封装手册、中文资料、英文资料,
    发表于 06-05 18:29
    <b class='flag-5'>5</b> GHz,802.11n/<b class='flag-5'>ac</b> 前端模块 skyworksinc