《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 應對實際工程挑戰,如何為嵌入式軟件開發選擇編譯器

應對實際工程挑戰,如何為嵌入式軟件開發選擇編譯器

2023-05-29
作者:IAR
來源:IAR
關鍵詞: MCU 嵌入式 編譯器

  在過去數十年,摩爾定律一直支配著半導體的發展。隨著MCU的性能越來越強,嵌入式產品也越來越智能,嵌入式軟件也變得越來越復雜。編譯器作為嵌入式軟件開發的基礎工具,將程序員編寫的源代碼轉換為底層硬件可以執行的機器指令。一款優秀的編譯器既需要對程序進行優化,確保程序可以高效地運行,同時又需要保證轉換的一致性。

  因此,對于嵌入式系統開發人員來講,在選擇以編譯器為核心的開發工具時,就必須要考慮一款編譯器與其工程環境和項目需求的關系,從而通過“利其器”而“善其事”。本文將介紹一款優秀編譯器應具備的一些特征,幫助嵌入式軟件開發人員根據其工程需求來選擇適合的編譯器,最快和最好地完成其工程項目。

  嵌入式軟件復雜性 vs MCU硬件資源的有限性

  嵌入式系統的應用范圍日益擴大,從汽車、航空航天到智能家居等領域都有廣泛應用。然而,隨著嵌入式軟件功能越來越復雜,軟件復雜性也隨之增加,這給嵌入式系統設計帶來了很大的挑戰。特別是在硬件資源有限的嵌入式系統中,軟件復雜性與MCU硬件資源之間的平衡變得非常重要。

  一方面,隨著軟件功能的增加,軟件復雜性不斷增加,這可能導致代碼變得龐大、難以維護。嵌入式軟件需要對外部設備和傳感器進行控制和響應,同時還需要實現復雜的算法和數據結構,這些都會增加軟件的復雜性。

  另一方面,嵌入式系統通常只具有有限的硬件資源,包括處理器速度、存儲器容量和外設接口等。這些硬件資源的限制可能會限制系統的功能和性能。當軟件復雜度增加時,可能會占用更多的硬件資源,從而導致系統性能下降或功能受限。此時,需要采用編譯優化算法、數據結構和代碼模塊化等技術,以便在MCU硬件資源有限的情況下實現復雜的嵌入式軟件功能。

  因此,在嵌入式系統設計中,軟件復雜性和MCU硬件資源之間的平衡非常關鍵。需要優化嵌入式軟件的設計和實現,以確保系統的性能、穩定和成本的完整考量。采用有效的軟件工程方法和工具,可以在硬件資源有限的情況下實現更復雜的嵌入式系統功能。編譯器作為嵌入式軟件開發中不可或缺的生產工具,承擔從C/C++源碼到目標二進制代碼的高效轉換職責,對其的選擇對于嵌入式軟件的開發極為重要。

  一款優秀的編譯器應具備的特性

  生成的代碼體積

  首先,優秀的編譯器可以將C/C++源代碼轉換成體積更小的二進制代碼,從而在給定的MCU中加入更多的功能。在嵌入式系統中,MCU的存儲器資源通常是有限的,因此,如果代碼越小,系統就可以實現更多的功能。此外,更小的代碼體積也意味著更少的存儲器占用,這可以降低系統的成本。

  下面,我們通過CoreMark基準對市面上流行的MCU編譯器輸出的代碼尺寸進行分析。CoreMark基準是一個很好的參考,因為它試圖納入開發人員做的一些更常見的事情,如矩陣操作、CRC計算、列表處理(包括查找和排序)等等。因此,它為你提供了一個關于編譯器能做什么的“真實世界”的比較,而且它還有防篡改機制,以確保編譯器供應商不會通過“手工優化”CoreMark代碼來作弊??梢栽L問EEMBC網站查找包含各種MCU和編譯器組合的CoreMark基準。

  雖然CoreMark是一個速度基準,但得益于其廣泛的方法,它也是一個很好的代碼體積基準。在各種芯片上觀察該基準測試的一個文件 (coremark.c),可以發現,根據下圖中顯示的所使用的芯片,其體積有小幅的變化。IAR Embedded Workbench(圖中為:ICCARM V7.70.1)呈現出比其他工具小得多的變化程度,并且在不同芯片上均能產生最小的代碼體積。

  事實上,在CoreMark總共34個模塊的30個中,IAR Embedded Workbench for Arm產生了更緊密的代碼,總體體積差異約為20%。同樣,我們在調研用戶使用IAR Embedded Workbench for RX和IAR Embedded Workbench for RL78開發的真實應用案例時,發現生成的代碼體積比GCC和其他工具小27%至 28%。

26.JPG

  生成的代碼性能

  其次,性能卓越的編譯器可以通過代碼優化技術來提升代碼執行速度。例如,編譯器可以進行代碼重排、內聯函數和循環展開等優化操作,以提高代碼的執行效率和性能。在嵌入式系統中,處理器的性能通常也是有限的,因此代碼的執行速度很重要。通過提升代碼執行速度,系統可以更充分地利用處理器的性能,這可以讓開發人員在不需要更高性能的處理器的情況下實現更高效的系統設計,同時節省系統成本。另外,高效的二進制代碼同樣可以降低MCU的功耗,有助于提升產品的續航能力,從而使得產品在低功耗應用中更具競爭力。

  同樣,我們通過CoreMark基準對市面上流行的MCU編譯器輸出的代碼性能進行分析。這里我們舉例來自Nordic Semiconductor芯片的CoreMark基準測試數據。選用“極致性能”編譯優化選項參數進行編譯時,IAR Embedded Workbench for Arm確實遠超其他工具。如下表所示,從這些基準測試中,可以看到IAR Embedded Workbench比Keil工具鏈高出19.1%,比GCC工具鏈高出驚人的29.8%。建議在CoreMark網頁上查看當前最新的分數。也可以自己運行基準測試以獲得精確的數字。

25.JPG

  穩定性也至關重要

  另外,編譯器編譯輸出的穩定性也至關重要。如果編譯器的輸出不穩定,那么在相同的源代碼上編譯可能會得到不同的結果,從而使得嵌入式系統在不同的環境中表現出不一致的行為。這將對系統的可靠性和穩定性產生負面影響,并且可能會導致系統的錯誤行為,從而增加項目時間和成本。因此,編譯器必須確保其輸出的結果是可靠和可重復的,以確保系統的穩定性和可靠性。

  相對于開源編譯器工具,IAR Embedded Workbench作為商用編譯器工具的領導者,擁有資深的專業技術團隊和嚴格的品控流程,在發布版本之前會經過嚴格的測試和審核過程,確保其在各種情況下都能穩定運行。

  除此之外,對于有功能安全產品需求的用戶, IAR Embedded Workbench高質量編譯器通過了由T?V S?D 認證的功能安全認證,涵蓋了工業(IEC 61508),汽車(ISO 26262)等10種不同種類的功能安全標準,可以幫助用戶加快功能安全認證,加速產品上市。

技術支持

  最后,也是非常重要的一點是用戶是否能快速有效的獲得技術支持。盡管編譯器的性能和穩定性都非常優秀,但如果用戶在使用時遇到問題并且不能獲得及時的技術支持,這將導致用戶的使用體驗下降,項目開發延期,甚至導致用戶產品無法按時交付。因此,能否提供及時的技術支持也是用戶選擇編譯器的一個極為重要的考量因素。

  如果免費工具有問題,例如編譯器或庫中的錯誤,用戶唯一能做的就是試著自己解決,或者在相關的資源庫中發布一個問題:

24.JPG

  為避免整個開發團隊因為開發工具的問題而停止工作,是使用IAR等商用專業開發工具的最大原因之一。除此之外,IAR在世界各地都有當地的支持團隊,IAR中國技術支持團隊直接為國內客戶提供高效的本地技術支持服務。(見下圖)

23.JPG

  總結

  一款優秀的編譯器可以將源代碼轉換成高效、穩定、優化的二進制代碼,使得嵌入式系統能夠在有限的硬件資源下實現復雜的功能和卓越的性能。選擇一款適合特定平臺、性能卓越、穩定可靠、并提供優質技術支持的編譯器對于嵌入式軟件開發來說是至關重要的。

  IAR擁有資深的編譯器技術團隊,深耕編譯器產品開發40余年,為用戶提供業界領先、性能卓越的編譯工具鏈。IAR中國的技術支持團隊時刻準備著為國內用戶提供高效、專業的技術支持,為嵌入式應用開發者保駕護航。

  參考文獻

  1. www.eembc.org/coremark

  2. www.iar.com/e-book/e-book-cn

  3.https://www.iar.com/products/architectures/arm/iar-embedded-workbench-for-arm/



更多精彩內容歡迎點擊==>>電子技術應用-AET<<

mmexport1621241704608.jpg

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久最新视频| 午夜精品久久久久久久蜜桃app| 欧美激情一区二区三区| 香蕉尹人综合在线观看| 欧美性猛交一区二区三区精品| 国产精品久久久99| 亚洲图片自拍偷拍| 性一交一乱一区二区洋洋av| 欧美成人资源| 亚洲福利免费| 国产精品免费aⅴ片在线观看| 免费久久精品视频| 亚洲免费视频网站| 欧美一区二区免费视频| 亚洲国产精品成人综合色在线婷婷| 欧美日韩性视频在线| 欧美手机在线| 国产精品久久久久久av福利软件| 一区二区三区视频观看| 国产视频在线观看一区二区三区| 亚洲美女视频在线观看| 国产精品久久久久一区二区三区| 久久夜精品va视频免费观看| 国产精品亚洲综合| 欧美一区二区三区另类| 欧美日韩不卡合集视频| 国产精品久久精品日日| 亚洲区中文字幕| 影音欧美亚洲| 国产美女在线精品免费观看| 欧美三级午夜理伦三级中文幕| 国产在线观看精品一区二区三区| 在线中文字幕不卡| 国产一级揄自揄精品视频| 91久久精品美女高潮| 国产精品日韩精品| 亚洲人成毛片在线播放女女| 国产综合久久久久久鬼色| 国模一区二区三区| 亚洲国产精品ⅴa在线观看| 国产一区二区欧美日韩| 亚洲东热激情| 在线中文字幕不卡| 亚洲在线免费| 久久精品亚洲一区二区| 国产麻豆视频精品| 亚洲免费在线观看视频| 欧美性猛片xxxx免费看久爱| 欧美成人免费视频| 欧美一区二区视频在线| 国产日韩欧美| 欧美激情乱人伦| 欧美另类极品videosbest最新版本| 欧美日韩免费在线观看| 日韩网站在线| 黄色精品免费| 午夜精品一区二区三区四区| 亚洲国产精品久久久久秋霞不卡| 国产精品国产a级| 欧美精品系列| 国产精品美女一区二区在线观看| 精品成人国产在线观看男人呻吟| 亚洲国产精品www| 欧美系列亚洲系列| 99视频精品免费观看| 久久夜色精品国产欧美乱极品| 欧美在线视频a| 亚洲国产第一页| 亚洲婷婷综合色高清在线| 欧美区一区二区三区| 国产日韩欧美一区二区三区四区| 亚洲视频中文| 国产亚洲va综合人人澡精品| 亚洲国产精品久久精品怡红院| 最新中文字幕亚洲| 一区二区不卡在线视频 午夜欧美不卡'| 国产精品亚洲аv天堂网| 国产午夜亚洲精品不卡| 夜夜嗨一区二区| 亚洲免费在线| 亚洲第一福利视频| 一区二区精品在线| 国产精品一区免费在线观看| 销魂美女一区二区三区视频在线| 欧美激情一区二区三区不卡| 欧美日韩在线综合| 欧美在线观看视频一区二区三区| 亚洲国产经典视频| 老司机凹凸av亚洲导航| 精品动漫一区| 在线亚洲国产精品网站| 国产视频在线观看一区二区三区| 欧美日韩国产123区| 亚洲一区二区免费看| 欧美大片免费看| 香蕉久久夜色精品国产| 久热精品视频在线观看| 久久最新视频| 欧美夫妇交换俱乐部在线观看| 国产综合网站| 模特精品在线| 欧美成人自拍视频| 欧美日韩国产影片| 国产精品a久久久久久| 欧美日韩成人综合在线一区二区| 国产精品久久久久91| 国内精品久久久久久久影视蜜臀| 91久久线看在观草草青青| 欧美性色视频在线| 欧美激情在线观看| 欧美一区二区三区在线看| 久久激情一区| 亚洲人成77777在线观看网| 欧美日韩在线另类| 国产精品视频一| 国产精品一页| 国产伦精品一区二区三区免费迷| 一区二区三区在线观看欧美| 99视频有精品| 国产精品日韩在线一区| 91久久精品美女| 亚洲精选久久| 国产日韩欧美二区| 国产亚洲欧美色| 在线播放国产一区中文字幕剧情欧美| 欧美区视频在线观看| 欧美日韩国产精品| 欧美日韩精品伦理作品在线免费观看| 亚洲电影自拍| 亚洲永久免费视频| 久久精品人人做人人综合| 亚洲夜晚福利在线观看| 欧美激情四色| 久久精品国产第一区二区三区最新章节| 亚洲夜晚福利在线观看| 欧美激情第8页| 亚洲最新合集| 久久精品国产综合| 亚洲综合日韩在线| 欧美午夜精品久久久久久久| 一本在线高清不卡dvd| 国产午夜精品一区二区三区欧美| 国产精品无码专区在线观看| 国产一区二区三区高清播放| 国内精品视频在线观看| 国产美女精品视频免费观看| 久久国产精品72免费观看| 亚洲精品综合精品自拍| 在线视频欧美日韩精品| 国产精品久久久久久久午夜| 欧美精品1区2区3区| 亚洲第一区在线观看| 一区二区精品在线观看| 精品盗摄一区二区三区| 老司机午夜精品视频在线观看| 一本到高清视频免费精品| 日韩视频在线观看免费| 狠狠综合久久| 韩国一区二区在线观看| 国产精品高潮久久| 亚洲精品影视在线观看| 欧美性做爰毛片| 欧美女激情福利| 夜夜爽av福利精品导航| 亚洲人午夜精品免费| 国产一区二区三区黄| 中文av一区特黄| 欧美一级理论性理论a| 久久综合成人精品亚洲另类欧美| 欧美一区二区视频97| 国产综合在线视频| 亚洲视频碰碰| 久久综合久久综合久久综合| 亚洲深爱激情| 久久免费少妇高潮久久精品99| 欧美日韩国产精品一卡| 激情国产一区| 国产精品人人爽人人做我的可爱| 蜜桃精品一区二区三区| 亚洲视频在线视频| 99精品欧美一区二区三区| 亚洲国产精品123| 精品不卡在线| 欧美亚洲成人精品| 洋洋av久久久久久久一区| 国产婷婷精品| 中文日韩欧美| 久久婷婷蜜乳一本欲蜜臀| 国产欧美一区二区三区沐欲| 久热精品视频在线观看一区| 在线观看国产成人av片| 久久久之久亚州精品露出| 欧美日韩中文字幕在线| 一本久道久久综合婷婷鲸鱼| 亚洲美女视频在线观看| 欧美日韩国产精品一区| 亚洲永久精品大片| 国产精品中文在线| 国产欧美日韩在线观看| 免费欧美电影| 亚洲人成网站精品片在线观看| 久久se精品一区精品二区| 一区二区三区欧美日韩| 久久精品一区中文字幕| 欧美高清在线精品一区| 日韩亚洲欧美在线观看| 麻豆国产精品一区二区三区| 国产欧美一区二区三区另类精品| 欧美国产欧美亚州国产日韩mv天天看完整| 91久久国产综合久久蜜月精品| 亚洲成人影音| 欧美成人激情在线| 香蕉久久a毛片| 午夜精品福利一区二区三区av| 国产精品久久久久久久久借妻| 国产日韩综合一区二区性色av| 亚洲精品日日夜夜| 免费成人小视频| 一区二区三区欧美亚洲| 欧美激情精品久久久| 欧美一级欧美一级在线播放| 欧美日韩国产丝袜另类| 国产欧美日韩高清| 欧美三区在线观看| 巨胸喷奶水www久久久免费动漫| 亚洲国产综合视频在线观看| 亚洲永久免费| 91久久久精品| 欧美96在线丨欧| 老司机免费视频一区二区三区| 夜夜嗨av一区二区三区四区| 欧美在线综合视频| 欧美一区二区三区视频在线| 国产精品成人一区| 99热在这里有精品免费| 狠狠色综合播放一区二区| 亚洲国产精品一区二区第一页| 亚洲一区二区三区精品在线观看| 在线一区二区三区四区五区| 99re热这里只有精品免费视频| 欧美一级成年大片在线观看| 国内精品国语自产拍在线观看| 欧美日韩精品免费看| 欧美午夜免费电影| 美腿丝袜亚洲色图| 亚洲精品自在在线观看| 欧美与黑人午夜性猛交久久久| 亚洲网站在线看| 国产三区二区一区久久| 国产精品视频男人的天堂| 国产精品人人爽人人做我的可爱| 欧美一级在线亚洲天堂| 国产日韩欧美精品一区| 噜噜噜91成人网| 国产精品av久久久久久麻豆网| 久久久久久一区二区| 欧美高清在线精品一区| 国产永久精品大片wwwapp| 欧美日韩另类综合| 在线国产精品播放| 久久久久一本一区二区青青蜜月| 国产欧美一区二区精品秋霞影院| 欧美久久电影| 欧美一区二区三区久久精品| 欧美精品一区二区三区很污很色的| 国产欧美日韩精品a在线观看| 欧美激情国产精品| 一区二区三区高清| 亚洲影院污污.| 欧美aⅴ一区二区三区视频| 亚洲高清免费视频| 蜜桃精品一区二区三区| 国产午夜精品久久久久久免费视| 国产婷婷色一区二区三区在线| 国产精品毛片va一区二区三区| 国产精品久久久久久久第一福利| 亚洲午夜电影在线观看| 一区二区高清在线| 欧美体内she精视频在线观看| 亚洲欧美激情视频| 亚洲国产一区在线观看| 日韩视频中文字幕| 欧美激情在线| 性欧美xxxx视频在线观看| 免费成人高清视频| 麻豆久久婷婷| 亚洲精品视频免费观看| 亚洲一区二区三区中文字幕| 亚洲婷婷综合色高清在线| 午夜一区二区三视频在线观看| 国产精品亚发布| 久久综合色影院| 一区二区在线看| 一区二区在线观看视频| 午夜视黄欧洲亚洲| 久久久久久久成人| 国产精品久久久久毛片软件| 亚洲伊人伊色伊影伊综合网| 一区二区久久久久久| 欧美高清视频在线| 国产综合久久| 亚洲电影av| 国产伦精品一区二区三区照片91| 亚洲四色影视在线观看| 久久久久久久成人| 欧美日韩国产系列| 欧美国产日本在线| 在线日韩一区二区| 欧美韩国日本一区| 国产亚洲精品久| 国内精品一区二区| 国产日韩视频一区二区三区| 国产精品99免费看| 一区视频在线播放| 欧美日韩国产色站一区二区三区| 亚洲欧洲在线观看| 国产一区二区三区久久精品| 国产精品一区二区a| 亚洲激情啪啪| 亚洲淫片在线视频| 久久人人97超碰精品888| 久久久亚洲精品一区二区三区| 亚洲精品1234| 亚洲免费观看高清完整版在线观看熊| 欧美美女bbbb| 国产综合视频在线观看| 中文欧美在线视频| 国产综合色精品一区二区三区|