嵌入式軟件就是給專門的嵌入式系統(tǒng)設(shè)計(jì)的軟件,它和一般的PC軟件差別在什么地方呢?粵嵌深圳嵌入式培訓(xùn)為你解析。
一個(gè)嵌入式系統(tǒng)一般都包含以下幾個(gè)部分:cpu,存儲(chǔ)器,電源,接口,功能模塊電路。也就是用來驅(qū)動(dòng)硬件工作以達(dá)到系統(tǒng)的工作目的。與PC軟件主要的區(qū)別在嵌入式系統(tǒng)對(duì)功耗和內(nèi)存大小上有嚴(yán)格的限制,所以嵌入式軟件一定要精簡(jiǎn),高效。
由于嵌入式系統(tǒng)的內(nèi)存有限,所以軟件大部分是由C語(yǔ)言寫的,因?yàn)镃++,java等語(yǔ)言雖然方便,但是很費(fèi)內(nèi)存。
嵌入式領(lǐng)域其為應(yīng)用的高度定制,造成了以效率、應(yīng)用為優(yōu)先的特點(diǎn)。封裝層次太多必然對(duì)效率有所傷害,同時(shí)規(guī)模變大,測(cè)試變得復(fù)雜,開發(fā)周期變長(zhǎng),所以嵌入式的層次結(jié)構(gòu)相對(duì)于PC系統(tǒng),邊界沒那么清晰,封裝考慮的問題沒有那么全面。完成同樣的一個(gè)工作,需要了解的內(nèi)容更多,才能做得更好。
作為一個(gè)嵌入式軟件工程師,需要了解一下一些知識(shí):
1、C是必須會(huì)的,而且水平要比較高。嵌入式軟件的編程用到很多C里面平時(shí)不常用的語(yǔ)法,比如內(nèi)聯(lián),靜態(tài)等。以及要清楚所有數(shù)據(jù)類型所占用的內(nèi)存。
2、會(huì)看懂英文用戶手冊(cè)和硬件原理。應(yīng)為這方面的很多硬件都是外國(guó)生產(chǎn)的,所以要能看懂這些文檔。對(duì)于軟件工程師來說,硬件就是一堆寄存器,所以你要看懂硬件里有哪些寄存器,每個(gè)有什么作用。
3、知道如何將軟件一直到新的處理器架構(gòu)上,這個(gè)要了解主流的處理器架構(gòu)的特性。
4、知道如何調(diào)試自己的程序,仿真調(diào)試或者片上調(diào)試,反正就那幾個(gè)調(diào)試方法。
5、的嵌入式系統(tǒng)需要RTOS,所以也要懂操作系統(tǒng)。
嵌入式軟件一層一層的覆蓋在硬件上的,層的應(yīng)該是硬件層,這一層直接對(duì)硬件的寄存器操作,是對(duì)硬件的層抽象。然后應(yīng)該是驅(qū)動(dòng)層,這一層提供一些硬件的功能函數(shù)。是接口層,這一層提供終的函數(shù)給上一層的工程師,例如ledLight()這種函數(shù),上層的人可以直接用這個(gè)函數(shù)來點(diǎn)亮led,而不用知道下面的細(xì)節(jié)。
學(xué)習(xí)嵌入式的方法多種多樣,但的辦法是去培訓(xùn),而且一定要勤奮,編程是一種體力+腦力的活,選擇培訓(xùn)可讓嵌入式的學(xué)習(xí)事半功倍。粵嵌深圳嵌入式培訓(xùn)由衷地希望大家都能夠?qū)W有所成,在這一行業(yè)取得好的成就。