一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

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

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

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

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

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

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

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

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

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

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

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

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

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

l我最差的CPU負(fù)載是多少?

l我是否通過(guò)了正確性和編碼標(biāo)準(zhǔn)的靜態(tài)代碼分析測(cè)試?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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