在嵌入式開發(fā)中,是分為硬件部分和軟件部分的,大多數(shù)的初學(xué)者對(duì)于嵌入式的硬件和軟件之間的區(qū)別不是很了解,所以今在這里就和大家具體說(shuō)說(shuō)嵌入式硬件和軟件詳解,大家可以參考一下。

大多數(shù)初學(xué)者都認(rèn)為“嵌入式系統(tǒng)=MCU硬件系統(tǒng)+小程序”。這些學(xué)者大多具有良好的電子技術(shù)基礎(chǔ)知識(shí)。
實(shí)際情況是,早期MCU內(nèi)部RAM小,程序存儲(chǔ)器外接,需要外擴(kuò)各種I/O,沒(méi)有像USB、嵌入式以太網(wǎng)等這樣較復(fù)雜的接口。
因此,程序占總設(shè)計(jì)量比例小于50%,使人們認(rèn)為嵌入式系統(tǒng)(單片機(jī))是“電子系統(tǒng)”,以硬件為主,程序?yàn)檩o。
但是,隨著MCU制造技術(shù)的發(fā)展,不僅.MCU內(nèi)部RAM越來(lái)越大。
Flash進(jìn)入MCU內(nèi)部改變了傳統(tǒng)的嵌入式系統(tǒng)開發(fā)與調(diào)試方式,固件程序可以更方便地調(diào)試與在線升級(jí),許多情況下與開發(fā)PC機(jī)程序的方便程相差無(wú)幾,只不過(guò)開發(fā)環(huán)境與運(yùn)行環(huán)境不是同一載體而已。
這使得嵌入式系統(tǒng)的軟件硬件設(shè)計(jì)方法發(fā)生根本變化。實(shí)際上說(shuō)白了嵌入式就是一個(gè)硬件電路加上一個(gè)實(shí)時(shí)操作系統(tǒng)。
現(xiàn)在很多從事嵌入式的軟件開發(fā)者對(duì)底層硬件的基本原理不理解。
特別是有些功能軟件開發(fā)者,過(guò)分依賴于底層硬件的驅(qū)動(dòng)軟件,自己對(duì)底層驅(qū)動(dòng)原理知之甚少。
實(shí)際上,一些功能軟件開發(fā)者,名義上在做嵌入式軟件,其實(shí)僅僅是使用入式編輯、編譯環(huán)境而已,本質(zhì)與開發(fā)通用PC機(jī)軟件沒(méi)有兩樣。
而底層硬件驅(qū)動(dòng)軟件的開發(fā),若不全面考慮高功能軟件對(duì)底層硬件的可能調(diào)用,也會(huì)使封裝或參數(shù)設(shè)計(jì)得不合理或不完備,導(dǎo)致高層功能軟件調(diào)用困難。
由此可以看出,若把嵌入式系統(tǒng)的開發(fā)孤立地分為硬件設(shè)計(jì)、底層硬件驅(qū)動(dòng)軟件設(shè)計(jì)、高層功能軟件設(shè)計(jì),那么一旦出現(xiàn)問(wèn)題,就可能難以定位。
實(shí)際上,嵌入式系統(tǒng)設(shè)計(jì)是一個(gè)軟件、硬件協(xié)同設(shè)計(jì)工程,是要在一個(gè)大的框架內(nèi)協(xié)調(diào)工作。
所以建議大家,想成為一個(gè)嵌入式開發(fā)工程師,嵌入式系統(tǒng)的硬件與軟件一定要打好基礎(chǔ),才能更好的從事嵌入式開發(fā)的工作。
歡迎私信我了解更多IT課程知識(shí)。