日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > 嵌入式BSP工程師到底是干嘛呢?

          嵌入式BSP工程師到底是干嘛呢?

          發(fā)布人:xiaomaidashu 時間:2022-07-18 來源:工程師 發(fā)布文章
          大家好,我是小麥。
          今天我們來學習一下,到底什么是BSP工程師?一、嵌入式系統(tǒng)

          要明白什么是嵌入式軟件工程師,我們先從嵌入式系統(tǒng)(嵌入式設備)說起。維基百科上對嵌入式系統(tǒng)的定義如下:

          嵌入式系統(tǒng)(Embedded System),是一種嵌入機械或電氣系統(tǒng)內部、具有專一功能和實時計算性能的計算機系統(tǒng)。

          通俗的講,嵌入式系統(tǒng)就是一種具有專一功能的計算機系統(tǒng)。

          我們身邊就有好多嵌入式設備,常見的比如智能手機,數碼相機等消費類的電子設備,再比如最近幾年興起的諸如智能音箱、智能電視、掃地機器人智能家居設備。

          當然還包括汽車防抱死系統(tǒng)、各種醫(yī)療成像系統(tǒng)等設備。

          總之各行各業(yè)我們都有可能接觸到它,尤其隨著智能化時代的到來,很多非智能的設備也將逐步由嵌入式設備所替代,典型的如智能門鎖。

          二、嵌入式工程師

          隨著嵌入式設備應用越來越廣泛,相關人才的需求也越來越大。那么相關的人才都有哪些呢?

          其中最主要的就是嵌入式工程師。

          嵌入式工程師分為兩種:嵌入式硬件工程師和嵌入式軟件工程師。

          嵌入式硬件工程師主要職責:

          • 負責設計嵌入式系統(tǒng)的硬件原理圖,使用相應的工具畫出PCB圖;
          • 后期配合嵌入式軟件工程師調試系統(tǒng)。

          嵌入式軟件工程師從系統(tǒng)軟件上又可以分為兩種:

          • BSP工程師
          • 嵌入式應用軟件工程師

          嵌入式應用軟件工程師主要是負責編寫基于嵌入式系統(tǒng)的應用軟件。類似于基于Windows上的QQ, Word。

          由于我本人是做BSP的,因此這里我們著重討論BSP工程師。

          圖片

          三、BSP工程師

          BSP,全稱Board Support Package,漢語意思即板級支持包。

          BSP工程師,顧名思義就是負責板級支持包的開發(fā)、調試和維護工作。

          那么什么是板級支持包呢?

          前面我們講過,嵌入式硬件工程師負責設計硬件,畫出PCB圖,工廠會根據PCB圖生產出對應的電路板。

          一個嵌入式系統(tǒng)光有電路板是不夠的,還要有對應的軟件支持,軟件開發(fā)的前提是首先使板子正常穩(wěn)定的工作,然后再在其上編寫對應的應用軟件以實現(xiàn)其特有的功能。

          其中使板子正常穩(wěn)定的工作的代碼就屬于板級支持包。

          那么BSP工程師的具體工作有哪些呢?

          我們首先從嵌入式設備談起,前面我們談到了很多的嵌入式設備,從系統(tǒng)角度來講這些設備有些是跑操作系統(tǒng)的,有些沒有跑。

          對于不跑操作系統(tǒng)的設備來講,其功能相對簡單一點,使用的主控芯片一般也比較簡單,比如風靡一時的51系列單片機、stm系列的單片機。

          對于這些簡單系統(tǒng)來講,它對軟件開發(fā)人員要求相對比較低,當然也就沒有我前面所說的分工那么詳細,有時候甚至從畫板、點亮、開發(fā)都是由一個人來完成的。

          對于跑操作系統(tǒng)來講的設備,就不一樣了。一般來講,跑操作系統(tǒng)的設備其軟件開發(fā)分三個階段:

          1. 點亮板子

          第一批板子出廠時是不包含任何軟件的。

          BSP工程師需要結合硬件原理圖修改從芯片廠商拿到的參考代碼,調試板子,使板子上的操作系統(tǒng)能夠正常穩(wěn)定工作;

          從而提供一個穩(wěn)定的開發(fā)調試環(huán)境,這個過程叫做點亮板子,行話叫做Bringup。

          這屬于BSP工程師最具有價值含量的工作之一,因為它對BSP工程師所掌握的知識的廣度和深度都有一定要求。

          其中會涉及到計算機原理、操作系統(tǒng),處理器架構等,還包括硬件方面的一些知識。

          綜合起來其最核心的工作就是對內核的移植、裁剪。

          2. 使能板子上所有設備

          上個階段中,板子的CPU和基本的器件已經能正常工作,這個階段中將使能所有的外設,并為后面要開發(fā)的應用程序提供對應的軟件控制接口。

          這個過程的實質是對應的操作系統(tǒng)下驅動開發(fā)的過程,需要掌握硬件工作的原理,操作系統(tǒng)的相關知識。

          3. 為板子開發(fā)應用程序

          如前文所述,嵌入式系統(tǒng)是一個具有專一功能的系統(tǒng),其上所有的硬件,軟件都應該為這一功能服務。

          第二個階段結束的時候,板子上所有的設備都已經可以正常使用了。

          這個階段的任務就是開發(fā)應用程序來實現(xiàn)某種特定的功能,應用程序中會使用第二階段提供的軟件接口控制板子上的設備來完成這一功能。

          四、BSP工程師應具備的能力

          上述前兩個階段屬于BSP開發(fā)的內容,第三個階段屬于嵌入式應用軟件開發(fā)的過程。

          綜上所述,BSP工程師主要應該具備的能力主要有:

          掌握計算機原理方面的知識

          掌握操作系統(tǒng)的相關知識,深入研究某種操作系統(tǒng),目前來講,研究linux操作系統(tǒng)應該是大部分人的選擇;

          基本的linux(開發(fā)環(huán)境)操作

          精湛的C語言功底和一定的C++/匯編的知識。

          掌握一定的硬件和電路原理方面的知識

          熟悉常見的接口協(xié)議,如I2C, SPI, UART, USB等。

          當然作為一個軟件開發(fā)人員也必須掌握一些通用的軟件,比如:

          代碼管理軟件,常見的如git等;

          代碼閱讀軟件,這個就因個人喜好而不同了,比如:opengrok,source insight,vim下ctags/cscope插件組合等。

          原文地址:https://luomuxiaoxiao.com/?p=170


          *博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。

          電流變送器相關文章:電流變送器原理


          關鍵詞: BSP

          相關推薦

          技術專區(qū)

          關閉