 嵌(qian)入式軟件工程師需要掌(zhang)握什么知(zhi)識
							時(shi)間(jian):2020-05-27      來源:未(wei)知
							嵌(qian)入式軟件工程師需要掌(zhang)握什么知(zhi)識
							時(shi)間(jian):2020-05-27      來源:未(wei)知 
							嵌入式現在的發展前景是一片大好,所以對于一些人來說這也算是個機會,想要進入到嵌入式行業中來,如果你也有這個想法的話,下面可以一起來了解下嵌入式軟件工程師需要掌握什么知識吧。
嵌入(ru)(ru)式(shi)(shi)軟(ruan)件(jian)就是給專門(men)的(de)嵌入(ru)(ru)式(shi)(shi)系(xi)統設(she)計的(de)軟(ruan)件(jian),和(he)一(yi)般的(de)PC軟(ruan)件(jian)差別不(bu)是很大,主要的(de)區別在嵌入(ru)(ru)式(shi)(shi)系(xi)統對(dui)功耗和(he)內(nei)存(cun)大小上有嚴格(ge)的(de)限制,所以嵌入(ru)(ru)式(shi)(shi)軟(ruan)件(jian)一(yi)定要精(jing)簡(jian),高效。
	
一個嵌入式系統一般都包含以下幾個部分:cpu,存儲器,電源,接口,功能模塊電路。而嵌入式軟件就是用來驅動硬件工作以達到系統的工作目的。
由于嵌入(ru)式系統的(de)內(nei)存(cun)(cun)有限,所以軟(ruan)件(jian)大部分是由C寫的(de),因(yin)為C++,java等語(yu)言雖然方便,但(dan)是很費內(nei)存(cun)(cun),但(dan)是隨著存(cun)(cun)儲器的(de)變革,C++最終會取代C的(de)。作為一(yi)個嵌入(ru)式軟(ruan)件(jian)工程師,需(xu)要了解一(yi)下一(yi)些(xie)知識:
1.C是必須會的(de),而且水平要(yao)比(bi)較(jiao)高。嵌入式軟件的(de)編程用到很多C里面平時不常(chang)用的(de)語法,比(bi)如內聯(lian),靜(jing)態(tai)等。以及要(yao)清楚所有數據類型所占(zhan)用的(de)內存。
2.會看懂英文用(yong)戶手冊(ce)和硬件(jian)(jian)(jian)原理。應為這(zhe)方面的很多硬件(jian)(jian)(jian)都是(shi)外國(guo)生產的,所以(yi)要(yao)能看懂這(zhe)些(xie)(xie)文檔(dang)。對(dui)于軟(ruan)件(jian)(jian)(jian)工程師來說,硬件(jian)(jian)(jian)就(jiu)是(shi)一堆寄存器,所以(yi)你要(yao)看懂硬件(jian)(jian)(jian)里有哪些(xie)(xie)寄存器,每(mei)個有什(shen)么作用(yong)。
3.會一些(xie)UI的(de)設計,雖然這(zhe)方面(mian)一般都有(you)專業做(zuo)界面(mian)的(de)人去做(zuo),但(dan)是也要會一點。
4.知道如何(he)將軟件一直到(dao)新的處理器架構(gou)上,這個要了(le)解(jie)主流的處理器架構(gou)的特性。
5.知(zhi)道如(ru)何調(diao)試(shi)自己的(de)程序,仿真調(diao)試(shi)或者(zhe)片上調(diao)試(shi),反正就那幾個調(diao)試(shi)方(fang)法。
6.高級的嵌(qian)入式系統(tong)(tong)需要(yao)(yao)RTOS,所以也要(yao)(yao)懂(dong)操作系統(tong)(tong)。
嵌入(ru)式軟件(jian)一(yi)層(ceng)(ceng)(ceng)(ceng)(ceng)一(yi)層(ceng)(ceng)(ceng)(ceng)(ceng)的(de)(de)(de)覆(fu)蓋在硬(ying)件(jian)上的(de)(de)(de),最底層(ceng)(ceng)(ceng)(ceng)(ceng)的(de)(de)(de)應該是(shi)硬(ying)件(jian)層(ceng)(ceng)(ceng)(ceng)(ceng),這一(yi)層(ceng)(ceng)(ceng)(ceng)(ceng)直接(jie)對(dui)硬(ying)件(jian)的(de)(de)(de)寄存器(qi)操作,是(shi)對(dui)硬(ying)件(jian)的(de)(de)(de)第一(yi)層(ceng)(ceng)(ceng)(ceng)(ceng)抽象。然后應該是(shi)驅動層(ceng)(ceng)(ceng)(ceng)(ceng),這一(yi)層(ceng)(ceng)(ceng)(ceng)(ceng)提(ti)供(gong)(gong)一(yi)些硬(ying)件(jian)的(de)(de)(de)功能函(han)數(shu)。最后是(shi)接(jie)口層(ceng)(ceng)(ceng)(ceng)(ceng),這一(yi)層(ceng)(ceng)(ceng)(ceng)(ceng)提(ti)供(gong)(gong)最終的(de)(de)(de)函(han)數(shu)給上一(yi)層(ceng)(ceng)(ceng)(ceng)(ceng)的(de)(de)(de)工程師,例如ledLight()這種函(han)數(shu),上層(ceng)(ceng)(ceng)(ceng)(ceng)的(de)(de)(de)人可(ke)以直接(jie)用這個函(han)數(shu)來點(dian)亮led,而不(bu)用知道下面的(de)(de)(de)細(xi)節。
以上介紹的就是嵌入式軟件工程師需要掌握什么知識了,其實在你還不懂嵌入式的時候遇到它,那么就要多去了解一下嵌入式方面的信息了。

