熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

"); //-->

博客專(zhuān)欄

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

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

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

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

嵌入式系統(tǒng)(Embedded System),是一種嵌入機(jī)械或電氣系統(tǒng)內(nèi)部、具有專(zhuān)一功能和實(shí)時(shí)計(jì)算性能的計(jì)算機(jī)系統(tǒng)。

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

我們身邊就有好多嵌入式設(shè)備,常見(jiàn)的比如智能手機(jī),數(shù)碼相機(jī)等消費(fèi)類(lèi)的電子設(shè)備,再比如最近幾年興起的諸如智能音箱、智能電視、掃地機(jī)器人智能家居設(shè)備。

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

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

二、嵌入式工程師

隨著嵌入式設(shè)備應(yīng)用越來(lái)越廣泛,相關(guān)人才的需求也越來(lái)越大。那么相關(guān)的人才都有哪些呢?

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

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

嵌入式硬件工程師主要職責(zé):

  • 負(fù)責(zé)設(shè)計(jì)嵌入式系統(tǒng)的硬件原理圖,使用相應(yīng)的工具畫(huà)出PCB圖;
  • 后期配合嵌入式軟件工程師調(diào)試系統(tǒng)。

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

  • BSP工程師
  • 嵌入式應(yīng)用軟件工程師

嵌入式應(yīng)用軟件工程師主要是負(fù)責(zé)編寫(xiě)基于嵌入式系統(tǒng)的應(yīng)用軟件。類(lèi)似于基于Windows上的QQ, Word。

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

圖片

三、BSP工程師

BSP,全稱(chēng)Board Support Package,漢語(yǔ)意思即板級(jí)支持包。

BSP工程師,顧名思義就是負(fù)責(zé)板級(jí)支持包的開(kāi)發(fā)、調(diào)試和維護(hù)工作。

那么什么是板級(jí)支持包呢?

前面我們講過(guò),嵌入式硬件工程師負(fù)責(zé)設(shè)計(jì)硬件,畫(huà)出PCB圖,工廠會(huì)根據(jù)PCB圖生產(chǎn)出對(duì)應(yīng)的電路板。

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

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

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

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

對(duì)于不跑操作系統(tǒng)的設(shè)備來(lái)講,其功能相對(duì)簡(jiǎn)單一點(diǎn),使用的主控芯片一般也比較簡(jiǎn)單,比如風(fēng)靡一時(shí)的51系列單片機(jī)、stm系列的單片機(jī)。

對(duì)于這些簡(jiǎn)單系統(tǒng)來(lái)講,它對(duì)軟件開(kāi)發(fā)人員要求相對(duì)比較低,當(dāng)然也就沒(méi)有我前面所說(shuō)的分工那么詳細(xì),有時(shí)候甚至從畫(huà)板、點(diǎn)亮、開(kāi)發(fā)都是由一個(gè)人來(lái)完成的。

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

1. 點(diǎn)亮板子

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

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

從而提供一個(gè)穩(wěn)定的開(kāi)發(fā)調(diào)試環(huán)境,這個(gè)過(guò)程叫做點(diǎn)亮板子,行話(huà)叫做Bringup。

這屬于BSP工程師最具有價(jià)值含量的工作之一,因?yàn)樗鼘?duì)BSP工程師所掌握的知識(shí)的廣度和深度都有一定要求。

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

綜合起來(lái)其最核心的工作就是對(duì)內(nèi)核的移植、裁剪。

2. 使能板子上所有設(shè)備

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

這個(gè)過(guò)程的實(shí)質(zhì)是對(duì)應(yīng)的操作系統(tǒng)下驅(qū)動(dòng)開(kāi)發(fā)的過(guò)程,需要掌握硬件工作的原理,操作系統(tǒng)的相關(guān)知識(shí)。

3. 為板子開(kāi)發(fā)應(yīng)用程序

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

第二個(gè)階段結(jié)束的時(shí)候,板子上所有的設(shè)備都已經(jīng)可以正常使用了。

這個(gè)階段的任務(wù)就是開(kāi)發(fā)應(yīng)用程序來(lái)實(shí)現(xiàn)某種特定的功能,應(yīng)用程序中會(huì)使用第二階段提供的軟件接口控制板子上的設(shè)備來(lái)完成這一功能。

四、BSP工程師應(yīng)具備的能力

上述前兩個(gè)階段屬于BSP開(kāi)發(fā)的內(nèi)容,第三個(gè)階段屬于嵌入式應(yīng)用軟件開(kāi)發(fā)的過(guò)程。

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

掌握計(jì)算機(jī)原理方面的知識(shí)

掌握操作系統(tǒng)的相關(guān)知識(shí),深入研究某種操作系統(tǒng),目前來(lái)講,研究linux操作系統(tǒng)應(yīng)該是大部分人的選擇;

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

精湛的C語(yǔ)言功底和一定的C++/匯編的知識(shí)。

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

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

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

代碼管理軟件,常見(jiàn)的如git等;

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

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


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

電流變送器相關(guān)文章:電流變送器原理


關(guān)鍵詞: BSP

相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉