tft每日頭條

 > 生活

 > 嵌入式工程師工作職位類别是什麼

嵌入式工程師工作職位類别是什麼

生活 更新时间:2024-11-23 15:49:50

今天我們來學習一下,到底什麼是BSP工程師?

嵌入式系統

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

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

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

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

當然還包括汽車防抱死系統、各種醫療成像系統等設備。

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

嵌入式工程師

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

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

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

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

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

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

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

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

由于我本人是做BSP的,因此這裡我們着重讨論BSP工程師。

嵌入式工程師工作職位類别是什麼(什麼是嵌入式BSP工程師)1

BSP工程師

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

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

嵌入式物聯網需要學的東西真的非常多,千萬不要學錯了路線和内容,導緻工資要不上去!

無償分享大家一個資料包,差不多150多G。裡面學習内容、面經、項目都比較新也比較全!某魚上買估計至少要好幾十。

點擊這裡找小助理0元領取:嵌入式物聯網學習資料(頭條)

嵌入式工程師工作職位類别是什麼(什麼是嵌入式BSP工程師)2

嵌入式工程師工作職位類别是什麼(什麼是嵌入式BSP工程師)3

那麼什麼是闆級支持包呢?

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

一個嵌入式系統光有電路闆是不夠的,還要有對應的軟件支持,軟件開發的前提是首先使闆子正常穩定的工作,然後再在其上編寫對應的應用軟件以實現其特有的功能。

其中使闆子正常穩定的工作的代碼就屬于闆級支持包。

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

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

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

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

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

1. 點亮闆子

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

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

從而提供一個穩定的開發調試環境,這個過程叫做點亮闆子,行話叫做Bringup。

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

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

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

2. 使能闆子上所有設備

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

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

3. 為闆子開發應用程序

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

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

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

BSP工程師應具備的能力

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

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

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

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

  • 基本的linux(開發環境)操作
  • 精湛的C語言功底和一定的C /彙編的知識
掌握一定的硬件和電路原理方面的知識

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

當然作為一個軟件開發人員也必須掌握一些通用的軟件,比如:代碼管理軟件,常見的如git等。

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

來源:STM32嵌入式開發

本文轉載自“STM32嵌入式開發”,如有侵權,請聯系删除原文鍊接:什麼是嵌入式BSP工程師?

版權聲明:本文來源網絡,免費傳達知識,版權歸原作者所有。如涉及作品版權問題,請聯系我進行删除。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved