嵌入(ru)式軟件(jian)工程師學(xue)習路(lu)線
時間:2020-05-22 來源(yuan):未知
大家選擇學習嵌入式,最后是都要做嵌入式相關工作的,所以在學習的時候真的要用心,如果你三心二意的話,那么很可能就學不好嵌入式了,因為嵌入式的確很難,不過,下面可以先來了解下嵌入式軟件工程師學習路線,對你學習還是有幫助的。

1、打(da)好嵌入式軟件編程的基礎(chu)
這(zhe)一階(jie)段(duan)重(zhong)點打好嵌(qian)入式軟(ruan)件編(bian)程的(de)基礎,包(bao)括學習Linux系統的(de)基本應用(yong),Linux的(de)常(chang)用(yong)命令、C語言編(bian)程基礎、常(chang)用(yong)的(de)數據結構。
特別是(shi)C語言中(zhong)對指針(zhen)的理解和應用(yong)。這一階(jie)段的主要(yao)目的是(shi)學習編程語言、開發(fa)環境、和培(pei)養自己的編程思(si)維,為進一步學習嵌入(ru)式(shi)(shi)開發(fa)打下良好(hao)的基礎。 這一階(jie)段推(tui)薦的嵌入(ru)式(shi)(shi)學習書籍如下:《C程序(xu)設(she)計語言》,《C語言核心技術》,《數據結構與(yu)算(suan)法分析--C語言描述》,《C和指針(zhen)》,《C陷(xian)阱與(yu)缺陷(xian)》,《C++ Primer》。
2、學習ARM體系結構編程
這(zhe)一階(jie)段(duan)(duan)才(cai)是(shi)(shi)真(zhen)正(zheng)的(de)(de)(de)嵌(qian)(qian)入(ru)式(shi)編程,首(shou)先我們(men)要選(xuan)擇(ze)一款(kuan)嵌(qian)(qian)入(ru)式(shi)CPU和一款(kuan)嵌(qian)(qian)入(ru)式(shi)開(kai)(kai)發(fa)平臺,目前ARM 嵌(qian)(qian)入(ru)式(shi)CPU應用最廣泛,這(zhe)一階(jie)段(duan)(duan)重(zhong)點(dian)(dian)是(shi)(shi)學(xue)(xue)(xue)習(xi)嵌(qian)(qian)入(ru)式(shi)CPU的(de)(de)(de)裸機(ji)編程,熟悉中(zhong)斷、定時器(qi)、串(chuan)口(kou)、NAND FLASH、網絡控制器(qi)、LCD屏、觸(chu)摸屏等常用嵌(qian)(qian)入(ru)式(shi)外(wai)圍(wei)設備的(de)(de)(de)硬(ying)件(jian)(jian)(jian)工(gong)作(zuo)原(yuan)理(li)(li)(li),以及如(ru)何(he)使用C語言來(lai)編程、控制這(zhe)些(xie)硬(ying)件(jian)(jian)(jian)。這(zhe)一階(jie)段(duan)(duan)除了(le)要學(xue)(xue)(xue)習(xi)對(dui)硬(ying)件(jian)(jian)(jian)編程之外(wai),還需要學(xue)(xue)(xue)習(xi)嵌(qian)(qian)入(ru)式(shi)硬(ying)件(jian)(jian)(jian)的(de)(de)(de)知識,但是(shi)(shi)對(dui)于(yu)嵌(qian)(qian)入(ru)式(shi)軟件(jian)(jian)(jian)工(gong)程師(shi)(shi)來(lai)講(jiang),重(zhong)點(dian)(dian)是(shi)(shi)學(xue)(xue)(xue)習(xi)硬(ying)件(jian)(jian)(jian)的(de)(de)(de)工(gong)作(zuo)原(yuan)理(li)(li)(li),在(zai)掌握硬(ying)件(jian)(jian)(jian)工(gong)作(zuo)原(yuan)理(li)(li)(li)的(de)(de)(de)基(ji)礎上,對(dui)硬(ying)件(jian)(jian)(jian)進行(xing)編程控制。這(zhe)和硬(ying)件(jian)(jian)(jian)工(gong)程師(shi)(shi)學(xue)(xue)(xue)習(xi)的(de)(de)(de)側(ce)重(zhong)點(dian)(dian)有所不同(tong)。這(zhe)一階(jie)段(duan)(duan)對(dui)應的(de)(de)(de)學(xue)(xue)(xue)校的(de)(de)(de)課程主要包(bao)括模擬(ni)電路、數字(zi)電路、微機(ji)原(yuan)理(li)(li)(li)和單片機(ji)。這(zhe)一階(jie)段(duan)(duan)重(zhong)點(dian)(dian)是(shi)(shi)要看CPU的(de)(de)(de)芯片手冊,大部分的(de)(de)(de)參考書也是(shi)(shi)對(dui)芯片手冊的(de)(de)(de)翻譯。推(tui)薦的(de)(de)(de)參考書籍(ji)如(ru)下:《ARM嵌(qian)(qian)入(ru)式(shi)系統開(kai)(kai)發(fa)--軟件(jian)(jian)(jian)設計與優(you)化》,《ARM處(chu)理(li)(li)(li)器(qi)開(kai)(kai)發(fa)詳解(jie) 基(ji)于(yu)ARM Cortex-A8處(chu)理(li)(li)(li)器(qi)的(de)(de)(de)開(kai)(kai)發(fa)設計》。
3、學(xue)習(xi)嵌入式系統的構建
這(zhe)一(yi)階(jie)(jie)段主要學習帶(dai)(dai)有(you)操作(zuo)系(xi)(xi)統(tong)(tong)(tong)(tong)的(de)(de)(de)嵌(qian)(qian)入(ru)式(shi)(shi)系(xi)(xi)統(tong)(tong)(tong)(tong)的(de)(de)(de)構(gou)建(jian),包括系(xi)(xi)統(tong)(tong)(tong)(tong)的(de)(de)(de)啟動流程(cheng)、Bootloader的(de)(de)(de)工作(zuo)流程(cheng)、UBOOT的(de)(de)(de)編(bian)(bian)譯、裁(cai)剪與移植、嵌(qian)(qian)入(ru)式(shi)(shi)Linux內核(he)的(de)(de)(de)裁(cai)剪、移植與編(bian)(bian)譯,嵌(qian)(qian)入(ru)式(shi)(shi)根(gen)文件系(xi)(xi)統(tong)(tong)(tong)(tong)的(de)(de)(de)定制(zhi)、BootLoader、內核(he)和根(gen)文件系(xi)(xi)統(tong)(tong)(tong)(tong)的(de)(de)(de)燒寫(xie)。 這(zhe)一(yi)階(jie)(jie)段的(de)(de)(de)主要目的(de)(de)(de)是(shi)掌(zhang)握帶(dai)(dai)有(you)操作(zuo)系(xi)(xi)統(tong)(tong)(tong)(tong)的(de)(de)(de)嵌(qian)(qian)入(ru)式(shi)(shi)系(xi)(xi)統(tong)(tong)(tong)(tong)的(de)(de)(de)構(gou)建(jian)和燒寫(xie)過程(cheng),以及對嵌(qian)(qian)入(ru)式(shi)(shi)系(xi)(xi)統(tong)(tong)(tong)(tong)軟件的(de)(de)(de)總體(ti)構(gou)成有(you)個整(zheng)體(ti)認識,為我們接下來(lai)學習嵌(qian)(qian)入(ru)式(shi)(shi)應(ying)用(yong)和驅(qu)動開(kai)發打(da)下堅實(shi)的(de)(de)(de)基礎(chu)。 這(zhe)一(yi)階(jie)(jie)段推薦(jian)的(de)(de)(de)書(shu)籍(ji)如下:《構(gou)建(jian)嵌(qian)(qian)入(ru)式(shi)(shi)Linux核(he)心軟件系(xi)(xi)統(tong)(tong)(tong)(tong)實(shi)戰(zhan)》。
4、學(xue)習嵌(qian)入式Linux應(ying)用程序開發
這一(yi)階段(duan)主要學(xue)習上層(ceng)的嵌入式(shi)Linux應用(yong)程序開發,包括(kuo)基于(yu)Linux多進程、多線程、網絡、文件與(yu)目錄(lu)和(he)QT編程。掌握嵌入式(shi)Linux環(huan)(huan)境下應用(yong)程序開發技術(shu)。這一(yi)階段(duan)推薦的書籍(ji)有: 《UNIX環(huan)(huan)境高級編程》, 《Unix網絡編程》,《Qt Creator快速入門》, 《精通Qt4編程》。
5、學(xue)習嵌入(ru)式Linux驅動(dong)程序(xu)開發(fa)
這(zhe)一(yi)(yi)階段(duan)主要(yao)學(xue)習底(di)層嵌入式Linux設(she)備(bei)(bei)(bei)驅(qu)(qu)(qu)(qu)動(dong)程(cheng)序開(kai)發設(she)計,包括常(chang)用的(de)字符設(she)備(bei)(bei)(bei)驅(qu)(qu)(qu)(qu)動(dong)、塊設(she)備(bei)(bei)(bei)驅(qu)(qu)(qu)(qu)動(dong)、LCD設(she)備(bei)(bei)(bei)驅(qu)(qu)(qu)(qu)動(dong)、觸摸屏(ping)設(she)備(bei)(bei)(bei)驅(qu)(qu)(qu)(qu)動(dong)以及驅(qu)(qu)(qu)(qu)動(dong)程(cheng)序開(kai)發中的(de)核(he)心技術。這(zhe)一(yi)(yi)階段(duan)推薦的(de)參考書籍有:《Linux設(she)備(bei)(bei)(bei)驅(qu)(qu)(qu)(qu)動(dong)程(cheng)序》,《Linux設(she)備(bei)(bei)(bei)驅(qu)(qu)(qu)(qu)動(dong)開(kai)發詳(xiang)解(jie)》。
6、完成一個綜合項目
嵌(qian)(qian)入(ru)式技(ji)術關鍵(jian)在(zai)于(yu)理論(lun)和實(shi)踐的(de)(de)結合,要能夠(gou)學(xue)以致(zhi)用,完(wan)成了以上(shang)的(de)(de)所(suo)(suo)有階(jie)段(duan)的(de)(de)知識(shi)點學(xue)習后,到(dao)底(di)有沒(mei)有學(xue)會(hui),會(hui)不(bu)會(hui)用,能不(bu)能應(ying)用所(suo)(suo)學(xue)知識(shi)來解決實(shi)際(ji)開發(fa)中的(de)(de)問題,我們(men)需要來完(wan)成一個綜合的(de)(de)嵌(qian)(qian)入(ru)式實(shi)訓項(xiang)目(mu),例如: 基(ji)于(yu)嵌(qian)(qian)入(ru)式Linux平(ping)臺(tai)實(shi)現的(de)(de)飛行器、 基(ji)于(yu)嵌(qian)(qian)入(ru)式Linux平(ping)臺(tai)實(shi)現的(de)(de)智(zhi)能機(ji)器人等,這些(xie)項(xiang)目(mu)都綜合應(ying)用了嵌(qian)(qian)入(ru)式開發(fa)當中的(de)(de)應(ying)用,驅動和QT開發(fa)技(ji)術。
以上介紹的就是嵌入式軟件工程師學習路線了,大家學習嵌入式也還是要能活靈活現,嵌入式不光是入門就可以了,入門之后也要努力才行,要不之后就業的時候真的很麻煩。