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

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 嵌入式開發(fā):如何定義理想的嵌入式構建系統(tǒng)

嵌入式開發(fā):如何定義理想的嵌入式構建系統(tǒng)

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

如果沒有一個清晰的構建系統(tǒng)的愿景,你可能會發(fā)現(xiàn)嵌入式開發(fā)團隊沒有他們應有的生產力。他們將錯過驅動更快和更可靠的軟件開發(fā)的基本特性和概念。在本帖中,我們將討論嵌入式軟件構建系統(tǒng)的理想愿景、它們的輸入和輸出,以及如何開始開發(fā)理想的構建系統(tǒng)。

構建系統(tǒng)由什么組成?

構建系統(tǒng)應被視為包含以下部分:

存儲庫——從構建中提取源代碼的地方。(可能一個或多個)。

源代碼——這些是系統(tǒng)的輸入,包括平臺配置源、生成的和手寫的代碼。

測試——這些是用于驗證代碼行為的單元、集成和系統(tǒng)測試。

構建配置——這些定義了構建輸出是什么。

構建工具——該工具收集所有輸入并生成所需的輸出。

在你的構建系統(tǒng)中,有兩個方面需要特別注意;構建配置和源代碼。

定義理想的構建配置

嵌入式開發(fā)人員應該使用的五種構建配置:

l分析–對代碼庫執(zhí)行度量分析

l模擬–構建在主機環(huán)境中執(zhí)行的代碼,而不是在目標環(huán)境中執(zhí)行

l測試——構建并運行單元、集成和回歸測試

l發(fā)布–在客戶硬件上構建發(fā)布代碼

l調試–在實驗室中構建在目標上執(zhí)行的代碼

每個現(xiàn)代嵌入式軟件構建系統(tǒng)都應該包括這五種配置。然而,如果你沒有討論和定義你需要你的構建系統(tǒng)做什么,你可能只有一個調試配置。

定義理想的軟件堆棧

你可能認為你的軟件堆棧與構建系統(tǒng)無關;但是,你選擇的內部版本配置可能會決定軟件的組織方式。畢竟,模擬應用程序代碼的構建不應該包括低級目標驅動程序。事實上,你可能會發(fā)現(xiàn),即使你使用的中間件也完全不同!定義理想的構建配置可能會影響軟件堆棧,反之亦然。

現(xiàn)代嵌入式軟件堆棧將包括通過HAL和API粘合在一起的多個獨立軟件層。嵌入式開發(fā)人員的軟件堆棧可能包含以下內容:

l平臺配置–由目標工具生成的軟件,如低級驅動程序、操作系統(tǒng)(如RTOS)和中間件。

l模型生成的應用程序代碼–由建模工具生成的軟件。軟件可以是狀態(tài)機、DSP算法等等。

l配置管理代碼–由你的系統(tǒng)代碼生成和管理的軟件。例如,應用程序中包含的加熱器或閥門的數(shù)量。它實際上是基于YAML或其他配置格式文件的配置代碼。

l手寫應用程序代碼–由你的團隊在沒有其他工具幫助的情況下編寫的軟件。

l測試配置–成功運行單元、集成、系統(tǒng)和模擬測試的各種測試配置和代碼。

當你仔細定義你的軟件堆棧,并說明代碼在堆棧中的位置以及它是如何生成的,你會發(fā)現(xiàn)很多好處。例如,我們討論的軟件堆棧將在多個應用程序中創(chuàng)建易于配置、可移植和重用的軟件。雖然你可能認為這是不必要的,但我看到了一種趨勢,即公司希望創(chuàng)建內部平臺,允許他們基于核心代碼庫推出大量產品。要成功地做到這一點,你需要一個靈活的軟件堆棧和支持它們的構建配置。

結論

在嵌入式開發(fā)中,一旦你有了理想的構建系統(tǒng),看看你的構建系統(tǒng)現(xiàn)在在哪里。隨著你慢慢建立它,你會發(fā)現(xiàn)你對軟件的工作方式有了新的能力和見解,它將變得更加強大和可靠。

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

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

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

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

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

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

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

在數(shù)字化的時代,網頁設計已經成為了一個重要的領域。而在這個領域中,HTML(HyperTextMarkupLanguage)無疑是最基礎、最重要的一環(huán)。它是構建...詳情>>

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

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

2023-12-12 06:35:55