當前位置:首頁 > 嵌入式 > 嵌入式分享
[導讀]一開始,開發(fā)人員從零開始創(chuàng)建所有的代碼,這是困難的,耗時的,痛苦的。開發(fā)人員努力工作,微控制器供應商生成構建環(huán)境和平臺來抽象低級別的啟動代碼和構建環(huán)境。開發(fā)人員很高興,現(xiàn)在能夠更快地編寫他們的應用程序代碼。雖然提供預配置的構建環(huán)境是有幫助的,但是有五個原因,開發(fā)團隊應該考慮構建自己的C/C++環(huán)境,而不是使用他們的單片機供應商提供的環(huán)境。

一開始,開發(fā)人員從零開始創(chuàng)建所有的代碼,這是困難的,耗時的,痛苦的。開發(fā)人員努力工作,微控制器供應商生成構建環(huán)境和平臺來抽象低級別的啟動代碼和構建環(huán)境。開發(fā)人員很高興,現(xiàn)在能夠更快地編寫他們的應用程序代碼。雖然提供預配置的構建環(huán)境是有幫助的,但是有五個原因,開發(fā)團隊應該考慮構建自己的C/C++環(huán)境,而不是使用他們的單片機供應商提供的環(huán)境。

理由1-了解你的應用程序的基礎

許多單片機供應商在創(chuàng)建開發(fā)平臺方面做了很多工作,他們的客戶可以使用這些平臺開發(fā)嵌入式產(chǎn)品。畢竟,如果客戶完成了所有通常在每個產(chǎn)品上完成的工作,比如編寫鏈接器腳本、啟動代碼、鏈接標準庫和初始化微控制器,他們將從中受益??蛻艨梢院雎赃@個標準代碼,而專注于更快地編寫他們的應用程序,這將使他們更快地進入市場,并且,一般來說,銷售更多的微控制器。

我看到的問題是,開發(fā)人員忽略了底層代碼,忽略了他們的構建環(huán)境是如何工作的,甚至忽略了與項目相關的內(nèi)容!更糟糕的是,供應商編寫的代碼是作為通用代碼開發(fā)出來的,是一個適合所有解決方案的"一刀切"。這可能不適合任何一個特定的應用。

創(chuàng)建您的構建環(huán)境,在這里您編寫鏈接器,啟動代碼,設置C/C++運行時,并創(chuàng)建您的制作文件,確保您了解您的應用程序和環(huán)境的基礎。你知道哪里有什么原因。您知道您使用什么程序集和C/C++標記來構建應用程序以及原因。實際上,您甚至將了解C/C++運行時環(huán)境,以及它如何影響代碼大小和執(zhí)行效率。如果你只使用你所提供的東西,或者回顧其中的東西,你就會錯過一些重要的細節(jié)。

原因2-代碼優(yōu)化

默認情況下,提供給開發(fā)人員的許多構建環(huán)境可能被配置為嵌入式開發(fā),但它們通常被配置為通用解決方案。該解決方案旨在滿足一般開發(fā)商或公司的需求。不幸的是,結(jié)果往往是代碼膨脹,不需要庫函數(shù),甚至是復雜的讀取代碼。例如,看看很多供應商提供的代碼。它們將包括來自C庫的標準系統(tǒng)調(diào)用,如打印機、退出、殺死、讀、寫等。使用這些系統(tǒng)調(diào)用的最小實現(xiàn)可以很容易地添加超過10千字節(jié)的代碼空間。也許這對許多團隊來說并不是什么大問題,因為他們使用大型32位處理器,但是對于其他嵌入式產(chǎn)業(yè),這可能會制造或破壞一個應用程序!(從閃爍著LED的平臺代碼創(chuàng)建一個基線項目并發(fā)現(xiàn)它編譯到超過60千字節(jié)的代碼,這種情況并不少見!)。

另一個優(yōu)化開發(fā)人員經(jīng)常忽略了默認情況下不會進入構建系統(tǒng)的小性能技巧。例如,如果我使用具有特殊的無等待RAM的部件,我可能會設置我的啟動代碼,將中斷向量放到無等待RAM中,以便從我的中斷中獲得更高效、確定性的運行時行為。不幸的是,我經(jīng)??吹降挠晒烫峁┑拇a并沒有做到這一點。如果您不構建或仔細檢查您的環(huán)境,您將浪費時鐘周期,并可能增加系統(tǒng)的響應時間。原因#3-更容易與快速和DevOps流程的集成

使用快速和開發(fā)是一個必要的過程,正在許多嵌入式團隊中流行。在嵌入式社區(qū)中獲得動力的快速方法包括測試驅(qū)動開發(fā)(TDD)。開發(fā)人員開發(fā)計劃所包含的不僅僅是持續(xù)集成和持續(xù)部署(CI/CD),但這也是我遇到的大多數(shù)團隊都專注的地方。

使用單片機供應商提供的環(huán)境,利用TDD和CI/CD可能會更麻煩和復雜。這是因為他們沒有考慮你需要遵循哪些流程來交付產(chǎn)品,只是你需要什么來讓他們的處理器啟動和運行。結(jié)果可能是一個構建環(huán)境,不能很好地與你的其他過程和需求相匹配。我見過團隊為了讓所有這些過程和工具都能很好地結(jié)合在一起而艱難地通過各種解決方案,有時甚至是雙重環(huán)境。

理由4-靈活性

有時候,我發(fā)現(xiàn)一個已經(jīng)為我建立的環(huán)境很難定制。有時,整個構建系統(tǒng)中有太多的小掛鉤,因此自定義它所需的時間是從頭開始所需時間的兩倍。例如,您可能希望禁用一個庫,但卻發(fā)現(xiàn)這樣做會導致幾十個編譯錯誤,迫使研究時間去解決。

我發(fā)現(xiàn)一個有幫助的靈活性方法是IDI靈活性。我經(jīng)常發(fā)現(xiàn)不同的開發(fā)人員對于他們想要使用的IDES和文本編輯器有不同的偏好。例如,一個人可能喜歡崇高的文本,另一個視覺工作室的代碼,或另一個供應商提供的IDI。開發(fā)人員經(jīng)常爭論,試圖獲得他們喜歡的工具作為團隊的選擇。如果您構建您的環(huán)境,每個人都可以使用他們的首選工具,這有助于提高開發(fā)人員的效率。

理由5-構建系統(tǒng)定制

我相信建立自己的C+C++環(huán)境的最大原因是能夠定制它。正如我提到的,沒有兩個項目是相同的。有些共同點是存在的,但是您可以通過定制構建系統(tǒng)來顯著地提高代碼的大小和性能。有時,在你從頭開始之前,你無法理解需要什么樣的定制。自定義您的C/C++環(huán)境和構建系統(tǒng)的能力可以顯著影響您的項目的成功。

結(jié)論

為嵌入式應用程序創(chuàng)建定制構建系統(tǒng)有許多好處。今天我們探索了一些可能激起你興趣的東西。一開始,進行這樣的努力可能看起來很復雜,并且充滿潛在的問題。幸運的是,這個過程遠沒有你想象的那么復雜。在不到一周的時間里,幾乎任何嵌入式處理器都可以研究和實現(xiàn)定制構建系統(tǒng)。此外,該構建系統(tǒng)是一個高度調(diào)整、優(yōu)化良好的系統(tǒng),可以幫助為您的應用程序奠定基礎,并構建能夠支持您的產(chǎn)品數(shù)年的流程。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉