1. gzyueqian
      13352868059

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

      更新時(shí)間: 2023-08-11 14:58:43來(lái)源: 粵嵌教育瀏覽量:8857

        如果沒(méi)有一個(gè)清晰的構(gòu)建系統(tǒng)的愿景,你可能會(huì)發(fā)現(xiàn)嵌入式開(kāi)發(fā)團(tuán)隊(duì)沒(méi)有他們應(yīng)有的生產(chǎn)力。他們將錯(cuò)過(guò)驅(qū)動(dòng)更快和更可靠的軟件開(kāi)發(fā)的基本特性和概念。在本帖中,我們將討論嵌入式軟件構(gòu)建系統(tǒng)的理想愿景、它們的輸入和輸出,以及如何開(kāi)始開(kāi)發(fā)理想的構(gòu)建系統(tǒng)。

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

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

        存儲(chǔ)庫(kù)——從構(gòu)建中提取源代碼的地方。(可能一個(gè)或多個(gè))。

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

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

        構(gòu)建配置——這些定義了構(gòu)建輸出是什么。

        構(gòu)建工具——該工具收集所有輸入并生成所需的輸出。

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

        定義理想的構(gòu)建配置

        嵌入式開(kāi)發(fā)人員應(yīng)該使用的五種構(gòu)建配置:

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

        l 模擬–構(gòu)建在主機(jī)環(huán)境中執(zhí)行的代碼,而不是在目標(biāo)環(huán)境中執(zhí)行

        l 測(cè)試——構(gòu)建并運(yùn)行單元、集成和回歸測(cè)試

        l 發(fā)布–在客戶(hù)硬件上構(gòu)建發(fā)布代碼

        l 調(diào)試–在實(shí)驗(yàn)室中構(gòu)建在目標(biāo)上執(zhí)行的代碼

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



        定義理想的軟件堆棧

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

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

        l 平臺(tái)配置–由目標(biāo)工具生成的軟件,如低級(jí)驅(qū)動(dòng)程序、操作系統(tǒng)(如RTOS)和中間件。

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

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

        l 手寫(xiě)應(yīng)用程序代碼–由你的團(tuán)隊(duì)在沒(méi)有其他工具幫助的情況下編寫(xiě)的軟件。

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

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

        結(jié)論

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

      免費(fèi)預(yù)約試聽(tīng)課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日韩最新综合一区二区 | 中文字幕永久一区二区三区 | 亚洲国产无遮挡在线 | 天天躁夜夜躁狠狠中文 | 日本一区二区人妖 | 亚洲欧洲日产中文字幕 |