免费可以看的无遮挡av无码|国产在线拍揄自揄视频网站|在线无码精品视频播放在|欧美亚洲国产成人精品,国产成人久久77777精品,亚洲欧美视频在线观看,色偷偷色噜噜狠狠网站久久

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > 嵌入式開發(fā):掌握嵌入式構(gòu)建系統(tǒng)—探索5種基本配置

嵌入式開發(fā):掌握嵌入式構(gòu)建系統(tǒng)—探索5種基本配置

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-12-10 22:22:32 1702218152

如果你曾經(jīng)開發(fā)過嵌入式軟件,你就會知道典型的嵌入式構(gòu)建系統(tǒng)只有兩種構(gòu)建配置:調(diào)試和發(fā)布。事實上,你可能大部分時間都只使用調(diào)試構(gòu)建。Rust構(gòu)建系統(tǒng)在測試中走得更遠。但是,你知道有五種基本的構(gòu)建配置應(yīng)該使用嗎?讓我們探討一下你和你的嵌入式開發(fā)團隊可以使用的不同嵌入式構(gòu)建系統(tǒng)配置,以確保你更快地開發(fā)軟件。

構(gòu)建系統(tǒng)配置1—分析

我們要討論的第一個嵌入式構(gòu)建系統(tǒng)配置是分析構(gòu)建。開發(fā)高質(zhì)量的嵌入式軟件需要你審查和分析你的軟件。你應(yīng)該問這樣的問題:

l我的函數(shù)的圈復雜度是多少?

l我的代碼的耦合性是什么?

l我的任務(wù)是否以正確的速度執(zhí)行?

l我最差的CPU負載是多少?

l我是否通過了正確性和編碼標準的靜態(tài)代碼分析測試?

許多構(gòu)建時檢查可以在代碼上執(zhí)行,通常委托給手工評審或者推給CI/CD。通常,在提交代碼之前,我會運行我的分析構(gòu)建。構(gòu)建將運行我所有的靜態(tài)、動態(tài)和度量檢查,以確保我的代碼處于提交到DevOps系統(tǒng)的正確狀態(tài)。

構(gòu)建系統(tǒng)配置2—模擬

模擬應(yīng)用程序代碼是開發(fā)嵌入式軟件最沒有得到充分利用的技術(shù)。你的構(gòu)建系統(tǒng)應(yīng)該具有允許你在你的主機環(huán)境上構(gòu)建模擬軟件的配置。你不一定需要一個目標模擬器;你可以通過在主機上運行應(yīng)用程序代碼來驗證它。模擬有很多優(yōu)點,例如:

l提高了時間效率——你不必等待硬件的到來,無需franken-boards,并且消除了bug-flash-debug循環(huán)。

l靈活性和可擴展性–你必須使用硬件抽象層(HALs)分離代碼并提高可重用性。

l降低開發(fā)成本–在主機環(huán)境中調(diào)試和解決問題的速度比在嵌入式目標上更快。

嵌入式開發(fā)人員通常認為他們不能模擬他們的軟件,因為它接觸到了硬件。然而,精心制作的軟件架構(gòu)可以實現(xiàn)模擬和目標執(zhí)行。此外,像DevOps的CI/CD技術(shù)這樣的現(xiàn)代技術(shù)迫使許多團隊重新思考他們?nèi)绾卧O(shè)計他們的軟件來更好地管理他們的硬件依賴。所以如果你追求DevOps,增加一個模擬構(gòu)建是很自然的擴展。

構(gòu)建系統(tǒng)配置3—測試

如果你一直致力于現(xiàn)代化你的嵌入式軟件過程,那么你可能已經(jīng)遇到或創(chuàng)建了你的測試構(gòu)建配置。測試配置是關(guān)于運行單元測試、集成測試,甚至可能是系統(tǒng)級測試(盡管我通常把它推到CI/CD過程中)。

當你創(chuàng)建一個測試構(gòu)建配置時,你將集成一個運行該構(gòu)建的測試工具。測試工具通常為你的主機編譯,而不是為你的目標編譯,但是這取決于你的需要。與模擬一樣,你需要一個良好的HAL和解耦來在主機上測試你的應(yīng)用程序代碼。不過,要小心;單元測試不是模擬。模擬就是在主機上運行代碼,就像在目標上一樣。單元測試是關(guān)于運行單獨的受控測試,以確保單個模塊按預期工作。

構(gòu)建系統(tǒng)配置5—調(diào)試

調(diào)試配置是你久經(jīng)考驗的嵌入式構(gòu)建系統(tǒng)配置。如果你在一個工程部門的地板上走來走去,你經(jīng)常會發(fā)現(xiàn)嵌入式開發(fā)人員愉快地單步調(diào)試他們的軟件代碼。不幸的是,這可能是一個嵌入式開發(fā)人員在大多數(shù)時候所能做的最糟糕的事情(有時,這種調(diào)試時間是必要的)。

調(diào)試版本通常在映像中包含更多的信息,因此開發(fā)人員可以四處查看并進行調(diào)試。問題是大多數(shù)應(yīng)用程序代碼可以在主機上調(diào)試得更好。調(diào)試構(gòu)建通常會降低開發(fā)人員的速度,并鼓勵糟糕的調(diào)試實踐。它們對于驅(qū)動開發(fā)來說是不可避免的,但是大多數(shù)團隊都在使用他們芯片供應(yīng)商的驅(qū)動代碼,所以使用一個好的HAL,你就可以模擬或者測試你的bug。

嵌入式構(gòu)建系統(tǒng)結(jié)論

調(diào)試構(gòu)建配置并不是嵌入式軟件團隊唯一可用的配置。事實上,希望你已經(jīng)意識到,分析、測試和模擬構(gòu)建配置的使用可能更有價值和效率。訣竅是將嵌入式軟件和固件僅僅視為軟件。與在嵌入式開發(fā)目標上相比,在MacOS、Linux或Windows上測試適當分層、分離和抽象的應(yīng)用程序代碼更容易。希望你仔細考慮這些構(gòu)建配置,并制定一個行動計劃,開始將它們集成到你的構(gòu)建過程中。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
嵌入式培訓課程:探索技術(shù)的無限可能

近年來,嵌入式系統(tǒng)的廣泛應(yīng)用已經(jīng)深刻改變了我們的生活方式。從智能手機到智能家居,從汽車到醫(yī)療設(shè)備,嵌入式技術(shù)已經(jīng)成為現(xiàn)代社會不可或缺的...詳情>>

2023-12-12 11:02:35
嵌入式開發(fā):Linux網(wǎng)絡(luò)編程的探索與實踐

在當今的科技世界中,嵌入式系統(tǒng)已經(jīng)滲透到我們生活的方方面面,從智能手機、電視、汽車到醫(yī)療設(shè)備等。而在這些設(shè)備中,Linux網(wǎng)絡(luò)編程扮演著至...詳情>>

2023-12-12 09:55:55
Java游戲項目開發(fā):技術(shù)概覽與實踐

在數(shù)字化世界中,游戲已經(jīng)成為了人們休閑娛樂的重要方式之一。隨著科技的不斷進步,游戲開發(fā)行業(yè)也在不斷發(fā)展,而Java作為一門廣泛使用的編程語...詳情>>

2023-12-12 08:49:15
Web前端的基石:HTML

在數(shù)字化的時代,網(wǎng)頁設(shè)計已經(jīng)成為了一個重要的領(lǐng)域。而在這個領(lǐng)域中,HTML(HyperTextMarkupLanguage)無疑是最基礎(chǔ)、最重要的一環(huán)。它是構(gòu)建...詳情>>

2023-12-12 08:15:55
嵌入式開發(fā):內(nèi)存分配的方式

嵌入式系統(tǒng)開發(fā)中,內(nèi)存分配是一個至關(guān)重要的話題。嵌入式系統(tǒng)通常具有有限的內(nèi)存資源,因此合理的內(nèi)存分配方式對系統(tǒng)的性能和穩(wěn)定性至關(guān)重要。...詳情>>

2023-12-12 06:35:55
快速通道