91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Keil MDK使用編譯器AC5與AC6生成瀏覽信息的差異有哪些

strongerHuang ? 來源:strongerHuang ? 作者:strongerHuang ? 2021-01-18 11:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

很多使用過Keil MDK的工程師都發(fā)現(xiàn)了一個問題,Keil MDK編譯代碼的時候,速度很慢。 編譯速度慢有幾個原因:

編譯器

代碼量大小

工程配置(生成信息)

其中工程配置中生成信息包含多種,打開工程選項卡就能看見。Project -> Options for Target -> Output / Listing:

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

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

這里面有很多信息都會影響編譯速度,其中生成瀏覽信息(Browse Information),下面就來講講關(guān)于瀏覽信息的內(nèi)容。

嵌入式專欄

1

關(guān)于Keil瀏覽信息

Keil中瀏覽信息,就是我們平時編輯調(diào)試時,右鍵(或者F12快捷鍵)使用Go To Definition xxx時所需要瀏覽的代碼信息:

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

需要在工程配置中勾選生成瀏覽信息才能正常使用該功能:

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

生成瀏覽信息會比較影響編譯速度,同時在Objects(OutPut配置輸出路徑)文件夾下面會多出*.crf文件(瀏覽信息文件)。 關(guān)于Keil MDK中各種文件的描述,可以參看我的文章:Keil系列教程10_文件類型及相關(guān)描述。

嵌入式專欄

2

AC5與AC6生成瀏覽信息的差異

Keil MDK編譯器默認是使用Arm Compiler(簡稱AC),目前主流的就是AC5和AC6.

之前也給大家分享過關(guān)于AC5和AC6的文章:

全面認識ARM編譯器AC6.12Keil MDK 編譯器 AC5 和 AC6 優(yōu)化選項重要內(nèi)容和區(qū)別

其實AC5和AC6還真有很多地方不同,之前使用AC5的代碼工程,很多地方都存在兼容性問題。

1.AC5和AC6生成瀏覽信息速度不同

如果不生成瀏覽信息(不勾選),AC5的編譯速度其實也不算慢。

但是,一般情況下,軟件開發(fā)工程師為了方便編輯和調(diào)試代碼,一般都會生成瀏覽信息。

AC5和AC6明顯的區(qū)別就是編譯速度上差異很大,AC6即使生成瀏覽信息,在編譯的時候,速度相比AC5快很多。

而且代碼量也有差異:

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

2.AC5和AC6生成瀏覽信息方式不同

如果你使用過AC6,你會發(fā)現(xiàn):在不用編譯的情況下,可以直接Go To Definitionxxx瀏覽代碼。

比如:你直接使用STM32CubeMX配置生成Keil MDK的代碼,修改配置,使用AC6編譯器,你會發(fā)現(xiàn)不用編譯就可以直接Go To Definition。

當然,前提你要配置使用AC6編譯器:

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

還有,AC6生成瀏覽信息是在后臺自動完成的,可能需要等待幾秒鐘或者更長時間(與你電腦配置有關(guān))。

責任編輯:xj

原文標題:Keil MDK使用編譯器AC5與AC6生成瀏覽信息的差異

文章出處:【微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • keil
    +關(guān)注

    關(guān)注

    69

    文章

    1230

    瀏覽量

    172672
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51666
  • MDK
    MDK
    +關(guān)注

    關(guān)注

    4

    文章

    211

    瀏覽量

    33650

原文標題:Keil MDK使用編譯器AC5與AC6生成瀏覽信息的差異

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Keil5中查看棧大小

    :打開生成的.map文件,在Image Symbol Table部分查找棧的相關(guān)信息,包括棧的大小和使用情況。 3、利用IDE的功能: 方法說明:Keil編譯器
    發(fā)表于 11-14 06:32

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

    電子發(fā)燒友網(wǎng)為你提供()5 GHz,802.11ac,支持 LAA 的前端模塊相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有5 GHz,802.11ac,支持 LAA 的前端模塊的引腳圖、接線圖、封裝手
    發(fā)表于 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
    發(fā)表于 09-26 07:20

    nano版本使用AC6編譯器下,不顯示msh怎么解決?

    ;gt; 字符串。 排查問題大概猜測應(yīng)該是 FinSH 根本就不工作,主要原因很可能是 AC6 版本沒有把FinSH那些代碼編譯到最終的bin文件。 網(wǎng)上說要修改鏈接文件,但是網(wǎng)上的資源都是gcc編譯器的鏈接文件。 暫時不知道
    發(fā)表于 09-25 07:19

    rt_list_for_each_entry編譯失敗怎么解決?

    ,這個宏是在rtservice.h中定義的 網(wǎng)上搜了一遍,好心的網(wǎng)友說可以在AC5編譯器里增加—gnu 我嘗試了一下行不通,AC6編譯器
    發(fā)表于 09-18 07:14

    請問如何在keil μVision 5上進行ARM編譯器的代碼優(yōu)化?

    如何在keil μVision 5上進行ARM編譯器的代碼優(yōu)化?
    發(fā)表于 08-20 07:37

    如何在Keil中將NuMicro BSP從Arm編譯器5遷移到編譯器6?

    Keil中將NuMicro BSP從Arm編譯器5遷移到編譯器6!
    發(fā)表于 08-20 06:29

    CW32L011_PD Power 口袋電源活動

    。 **關(guān)于編譯: 無論AC6還是AC5,優(yōu)化等級都需要 -O0。 使用AC5時,需要選擇cmsis包5.9.0。** 供電需要插在邊緣的type-C口。然后連上調(diào)試線,就可以方便地
    發(fā)表于 08-17 11:06

    stm32f407ZGT6生成的bootloader打印的app分區(qū)偏移地址正常嗎?

    stm32f407ZGT6生成的bootloader打印的app分區(qū)偏移地址正常嗎?bootloader使用iot平臺配置自動生成的,日志信息如下圖
    發(fā)表于 08-15 08:24

    求助,關(guān)于NanoEdge AI Studio生成的庫交叉編譯器版本疑問求解

    20231009\", 那么問題來了,怎么在NanoEdge AI Studio設(shè)定交叉編譯器呢,比如設(shè)置為armcc、armclang、iccram,因為我需要將庫加到keil或者iar工程里面。 看樣子這個軟件生成的庫是a
    發(fā)表于 08-08 07:25

    5 GHz 802.11ac WLAN 前端模塊 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()5 GHz 802.11ac WLAN 前端模塊相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有5 GHz 802.11ac WLAN 前端模塊的引腳圖、接線圖、封裝手冊、中文資料
    發(fā)表于 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

    電子發(fā)燒友網(wǎng)為你提供()5 GHz,802.11ac 前端模塊相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有5 GHz,802.11ac 前端模塊的引腳圖、接線圖、封裝手冊、中文資料、英文資料,
    發(fā)表于 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

    電子發(fā)燒友網(wǎng)為你提供()5 GHz,802.11n/ac 前端模塊相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有5 GHz,802.11n/ac 前端模塊的引腳圖、接線圖、封裝手冊、中文資料、英文資料,
    發(fā)表于 06-05 18:29
    <b class='flag-5'>5</b> GHz,802.11n/<b class='flag-5'>ac</b> 前端模塊 skyworksinc

    為什么MotorControl Workbench無法生成代碼?

    我使用MotorControl Workbench5.4.4生成單電機驅(qū)動代碼,使用正交編碼精度1024,檢查引腳沒問題后,進入生成頁面,識別到STM32CubeMX版本為6.12.1,選擇
    發(fā)表于 03-14 06:28

    使用STM32CubeMX生成FreeRTOS的MDK工程,選擇AC6編譯器很多錯誤,為什么?

    使用STM32CubeMX生成FreeRTOS的MDK工程,選擇AC5編譯器可以編譯成功,選擇AC6
    發(fā)表于 03-11 06:32