博客專欄

EEPW首頁 > 博客 > 嵌入式開發(fā)需要學習硬件嗎?

嵌入式開發(fā)需要學習硬件嗎?

發(fā)布人:電巢 時間:2022-12-14 來源:工程師 發(fā)布文章

嵌入式開發(fā)從大類上來說,主要分為兩類:1)嵌入式硬件開發(fā);2)嵌入式軟件開發(fā)。對于嵌入式硬件開發(fā)而言,硬件是必須要懂得,因為涉及到電路原理圖的設(shè)計。對于嵌入式軟件而言,如果細分的話,又可以分為驅(qū)動開發(fā)和軟件開發(fā)。這兩者都需要一定的硬件知識,所以,嵌入式開發(fā)有必要學習硬件。

1、嵌入式硬件開發(fā)

嵌入式硬件開發(fā)的工作就是根據(jù)用戶需求、產(chǎn)品經(jīng)理的要求,設(shè)計技術(shù)方案并細化技術(shù)方案,設(shè)計電路原理。這個過程包括技術(shù)方案的提出、技術(shù)方案的評審、硬件芯片/元器件的選型、技術(shù)方案原理的實施等。毫無疑問,硬件開發(fā)必須要懂硬件,而且是精通。

image.png


2、嵌入式驅(qū)動開發(fā)

這個職位在大公司里是有的,在小公司可能就取消了。這個崗位的工作職責就是編寫驅(qū)動程序。什么是驅(qū)動程序,就是介于硬件和軟件之間、將硬件接口形成軟件指令/代碼。方便程序員去調(diào)用,這樣就避免了程序員直接去理解硬件原理,只需要調(diào)用相應(yīng)的驅(qū)動接口即可。如下圖,要讓繼電器動作,單片機必須輸出高電平,驅(qū)動開發(fā)就是將該過程形成一個接口:JDQ_ON;JDQ_OFF,程序員在驅(qū)動繼電器時,直接調(diào)用JDQ_ON或者JDQ_OFF,就可以了,從而忽略了硬件。

image.png


這個職位是為軟件開發(fā)服務(wù)的,要熟悉硬件接口,知道硬件的工作過程,并形成可調(diào)用的代碼。所以,必須要懂硬件。

3嵌入式軟件開發(fā)

該職位,其實已經(jīng)是程序員的范疇,但是與上位機程序員、網(wǎng)站程序員相比,該職位還是偏硬的,因為該職位是對硬件編程,所面對的平臺是工控板,是單片機、ARM、DSP等,只不過,所用的硬件接口都被驅(qū)動開發(fā)者做好了,控制硬件時只需要調(diào)用驅(qū)動接口就可。在小公司,驅(qū)動開發(fā)和軟件開發(fā)是放在一起的,甚至在更小的公司硬件設(shè)計、驅(qū)動設(shè)計、軟件設(shè)計都是一個人在做,軟硬通吃。所以,嵌入式軟件開發(fā)還是要懂一些硬件。

image.png


所以,對于硬件而言,即使你是軟件開發(fā)者,也要懂一點硬件,可以不會設(shè)計電路,但是一定要能看懂電路。應(yīng)為驅(qū)動開發(fā)者,如果犯一點小錯誤可能就導致軟件開發(fā)者調(diào)試好久,如果懂硬件的話,可能就能及早地發(fā)現(xiàn)問題所在。所以,即使是嵌入式軟件開發(fā)者,也要懂一定地硬件。


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



關(guān)鍵詞: 嵌入式 開發(fā)

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉