嵌入式開發要學什么,小白必備
時間:2018-06-14 來源:未知
對于(yu)嵌(qian)入式新手小白來說,剛剛開始(shi)學(xue)習(xi)(xi)嵌(qian)入式,感(gan)覺完全(quan)是(shi)不(bu)著(zhu)邊際,連最基本(ben)的概念都沒有。涉及到什么知(zhi)識,該往哪個(ge)(ge)方向學(xue)習(xi)(xi),都有點模糊不(bu)清(qing),但是(shi)你在(zai)看了這篇文(wen)章以后會有不(bu)小的收獲的。華妹就告(gao)訴你對于(yu)嵌(qian)入式開發,我(wo)(wo)們應(ying)該從何學(xue)習(xi)(xi),應(ying)該怎么去學(xue),下(xia)面我(wo)(wo)分(fen)了幾(ji)個(ge)(ge)階(jie)段,一起來看一下(xia):
1、C語言
嵌入式Linux工程師的學習(xi)需要具備一定的C語(yu)言(yan)基(ji)(ji)礎,C語(yu)言(yan)是嵌入式領域最重要也是最主要的編(bian)(bian)程語(yu)言(yan),通過大量編(bian)(bian)程實例重點理解C語(yu)言(yan)的基(ji)(ji)礎編(bian)(bian)程以及高(gao)級(ji)編(bian)(bian)程知識。包括:基(ji)(ji)本數(shu)據類型、數(shu)組、指針、結構體(ti)、鏈表、文件操(cao)作、隊列(lie)、棧等。
2、數據結構與算法(fa)
數據結(jie)構(gou)及算(suan)(suan)法在嵌入式底層驅動、通(tong)信協議(yi)、及各種引(yin)擎開發中(zhong)會得到大量應用,對其(qi)掌握(wo)的好壞直接影響程(cheng)(cheng)序的效(xiao)率(lv)、簡(jian)潔及健壯(zhuang)性(xing)。此階段的學習(xi)要重點理解(jie)數據結(jie)構(gou)與算(suan)(suan)法的基礎內容,包括順序表、鏈表、隊列、棧、樹(shu)、圖(tu)、哈希表、各種查找(zhao)排序算(suan)(suan)法等應用及其(qi)C語言(yan)實(shi)現過程(cheng)(cheng)。

3、Linux基礎
Linux操作系統的概念(nian)、安(an)裝方法,詳細(xi)了解Linux下(xia)的目錄結構、基本命令、編(bian)(bian)輯器(qi)VI ,編(bian)(bian)譯器(qi)GCC,調(diao)試器(qi)GDB和(he) Make 項目管理工具, Shell Makefile腳本編(bian)(bian)寫等知識,嵌入式開發(fa)環境的搭建(jian)。
4、Linux系統編(bian)程
重點學習(xi)標準I/O庫,Linux多任務編(bian)程中的多進程和多線(xian)程,以及進程間通信(pipe、FIFO、消(xiao)息隊列(lie)、共享(xiang)內存、signal、信號量等(deng)),同(tong)步與(yu)互(hu)斥(chi)對(dui)共享(xiang)資(zi)源訪(fang)問控制等(deng)重要知識,主要提升對(dui)Linux應用開(kai)發的理解和代碼調試的能力。
5、Linux網絡(luo)編程
計算機網(wang)絡(luo)(luo)(luo)在嵌入(ru)式Linux系統應(ying)用開(kai)發(fa)過程(cheng)中(zhong)使用非(fei)常廣泛,通過Linux網(wang)絡(luo)(luo)(luo)發(fa)展、TCP/IP協議(yi)(yi)、socket編(bian)程(cheng)、TCP網(wang)絡(luo)(luo)(luo)編(bian)程(cheng)、UDP網(wang)絡(luo)(luo)(luo)編(bian)程(cheng)、Web編(bian)程(cheng)開(kai)發(fa)等(deng)方面入(ru)手,全面了解(jie)Linux網(wang)絡(luo)(luo)(luo)應(ying)用程(cheng)序開(kai)發(fa)。重點學(xue)習網(wang)絡(luo)(luo)(luo)編(bian)程(cheng)相(xiang)關API,熟(shu)練掌握TCP協議(yi)(yi)服(fu)務器的編(bian)程(cheng)方法(fa)和并發(fa)服(fu)務器的實(shi)現,了解(jie)HTTP協議(yi)(yi)及(ji)其實(shi)現方法(fa),熟(shu)悉(xi)UDP廣播、多播的原理(li)及(ji)編(bian)程(cheng)方法(fa),掌握混合C/S架構(gou)網(wang)絡(luo)(luo)(luo)通信系統的設計,熟(shu)悉(xi)HTML,Javascript等(deng)Web編(bian)程(cheng)技術及(ji)實(shi)現方法(fa)。
6、C++ 、QT
初學(xue)嵌(qian)(qian)入式(shi)(shi)開(kai)發要學(xue)什么C++是Linux應用(yong)開(kai)發主要語(yu)言之一(yi),本階段重點掌握面(mian)向對(dui)象編程的(de)基(ji)(ji)本思想以及(ji)(ji)C++的(de)重要內容。圖形界面(mian)編程是嵌(qian)(qian)入式(shi)(shi)開(kai)發中(zhong)非常重要的(de)一(yi)個環(huan)節。由于QT具有跨(kua)平臺(tai)、面(mian)向對(dui)象、豐富API、支(zhi)持2D/3D渲染、支(zhi)持XML、多國語(yu)等強大功能,在(zai)嵌(qian)(qian)入式(shi)(shi)領域的(de)GUI開(kai)發中(zhong)得到了廣范的(de)應用(yong),在(zai)本階段通過基(ji)(ji)于QT圖形庫的(de)學(xue)習使學(xue)員可以熟練編寫(xie)GUI程序,并移(yi)植(zhi)QT應用(yong)程序到Cortex-A8平臺(tai)。包括IDE使用(yong)、QT部件(jian)(jian)及(ji)(ji)布局管理器、信息與槽機制(zhi)的(de)應用(yong)、鼠標、鍵盤及(ji)(ji)繪圖事件(jian)(jian)處(chu)理及(ji)(ji)文(wen)件(jian)(jian)處(chu)理的(de)應用(yong)。
7、Cortex A8 、Linux 平臺開發
通過基(ji)于(yu)ARM Cortex-A8處理(li)(li)s5pv210了(le)解芯片手冊的(de)(de)基(ji)本閱讀(du)技巧(qiao),掌握s5pv210系(xi)(xi)(xi)(xi)統(tong)資源、時鐘控(kong)制(zhi)器(qi)(qi)、電(dian)源管理(li)(li)、異(yi)常中(zhong)(zhong)斷控(kong)制(zhi)器(qi)(qi)、nand flash控(kong)制(zhi)器(qi)(qi)等模塊,為(wei)底層平(ping)臺搭建(jian)做好準備。Linux平(ping)臺包(bao)(bao)括(kuo)內核(he)(he)裁(cai)減(jian)、內核(he)(he)移植、交叉編譯、GNU工具使用(yong)(yong)、內核(he)(he)調試(shi)、Bootloader介紹(shao)、制(zhi)作與原理(li)(li)分析、根文件(jian)系(xi)(xi)(xi)(xi)統(tong)制(zhi)作以及(ji)向內核(he)(he)中(zhong)(zhong)添(tian)加自己的(de)(de)模塊,并在(zai)s5pv210實驗平(ping)臺上運(yun)行自己制(zhi)作的(de)(de)Linux系(xi)(xi)(xi)(xi)統(tong),集成部署(shu)Linux系(xi)(xi)(xi)(xi)統(tong)整個(ge)流程。同時了(le)解Android操(cao)作系(xi)(xi)(xi)(xi)統(tong)開發流程。Android系(xi)(xi)(xi)(xi)統(tong)是(shi)基(ji)于(yu)Linux平(ping)臺的(de)(de)開源操(cao)作系(xi)(xi)(xi)(xi)統(tong),該平(ping)臺由操(cao)作系(xi)(xi)(xi)(xi)統(tong)、中(zhong)(zhong)間(jian)件(jian)、用(yong)(yong)戶界面和(he)應(ying)用(yong)(yong)軟(ruan)件(jian)組(zu)成,是(shi)首個(ge)為(wei)移動終端打造的(de)(de)真正開放和(he)完整的(de)(de)移動軟(ruan)件(jian),目前它的(de)(de)應(ying)用(yong)(yong)不(bu)再局限于(yu)移動終端,還包(bao)(bao)括(kuo)數據電(dian)視、機頂盒、PDA等消(xiao)費(fei)類(lei)電(dian)子產(chan)品。
8、初學嵌入式開發要學什么(me)驅(qu)動(dong)開發肯定是跑不了的
驅(qu)(qu)動(dong)程(cheng)序設計(ji)是嵌入式(shi)Linux開(kai)(kai)發工作中重要的(de)(de)一(yi)部(bu)分,也是比較困(kun)難(nan)的(de)(de)一(yi)部(bu)分。本(ben)階(jie)段的(de)(de)學習要熟(shu)悉(xi)Linux的(de)(de)內核機制(zhi)、驅(qu)(qu)動(dong)程(cheng)序與用戶(hu)級應(ying)用程(cheng)序的(de)(de)接口(kou),掌握系統對設備(bei)(bei)的(de)(de)并發操(cao)作。熟(shu)悉(xi)所開(kai)(kai)發硬件的(de)(de)工作原理,具(ju)備(bei)(bei)ARM硬件接口(kou)的(de)(de)基礎知識,熟(shu)悉(xi)ARM Cortex-A8處理器s5pv210各資源、掌握Linux設備(bei)(bei)驅(qu)(qu)動(dong)原理框(kuang)架,熟(shu)悉(xi)工程(cheng)中常見Linux高級字符(fu)設備(bei)(bei)、塊設備(bei)(bei)、網絡設備(bei)(bei)、USB設備(bei)(bei)等驅(qu)(qu)動(dong)開(kai)(kai)發,在工作中能獨立勝任底(di)層驅(qu)(qu)動(dong)開(kai)(kai)發。
以上的這些要學習的內容,是否你已經get到了呢,對于小白來說,學習嵌入式開發最好從這些方面來學習,對這些知識掌握好,那對學習嵌入式開發是十分有用的。所以好好加油學。
相關推薦:嵌入(ru)式學(xue)習路(lu)線,帶你從新手到入(ru)門