怎么學好(hao)嵌入式基礎,這些你必須要了解(jie)
							時間:2018-07-04      來源:未知 
							嵌(qian)入(ru)(ru)式(shi)可以說是現在發展(zhan)很好(hao)的(de)行業(ye)技術(shu)之一了,嵌(qian)入(ru)(ru)式(shi)應用很廣(guang)泛,小到(dao)(dao)(dao)手機,大到(dao)(dao)(dao)航空航天技術(shu),都用到(dao)(dao)(dao)了嵌(qian)入(ru)(ru)式(shi)技術(shu),選(xuan)擇嵌(qian)入(ru)(ru)式(shi)是很正確的(de)選(xuan)擇,但對于一些剛入(ru)(ru)門的(de)人來說,學習(xi)(xi)嵌(qian)入(ru)(ru)式(shi)你(ni)(ni)需要(yao)掌握到(dao)(dao)(dao)方(fang)法,那(nei)樣(yang)才會學的(de)不迷茫(mang),那(nei)么(me)學習(xi)(xi)之前,嵌(qian)入(ru)(ru)式(shi)開發的(de)基礎知識(shi)你(ni)(ni)是不需要(yao)了解(jie)的(de),你(ni)(ni)要(yao)知道到(dao)(dao)(dao)底嵌(qian)入(ru)(ru)式(shi)要(yao)學點什么(me),我應該怎么(me)學這些知識(shi),“坐”車帶你(ni)(ni)去(qu)。
  
先來(lai)簡單的了解一下學習嵌入(ru)式(shi)開發需(xu)了解的基礎知識(shi)
1.C/C++語(yu)言,可(ke)以說這是計算機行業的一門必修課,所以要扎扎實(shi)實(shi)掌握好。
2.操作系統(tong),要學習(xi)一下操作系統(tong)的基本原理,熟悉Linux環境下的開發環境,然(ran)后你就照著相關的資料(liao)寫一個(ge)操作系統(tong)試試看。
3.計(ji)算機(ji)(ji)組成原理,要能夠(gou)熟悉計(ji)算機(ji)(ji)的基(ji)本(ben)原理,看(kan)(kan)看(kan)(kan)你一(yi)個計(ji)算機(ji)(ji)的基(ji)本(ben)組成以及軟件(jian)實質是如何來跑的。
4.可(ke)以(yi)選(xuan)擇一些書籍來作(zuo)為(wei)參考(kao),華清遠見有很多專業的(de)書籍,初學嵌入式的(de)朋友可(ke)以(yi)作(zuo)為(wei)參考(kao)。
5.arm,可(ke)以說是當下很流(liu)行的微機,自(zi)己可(ke)以想辦法移植一個操作系(xi)統(tong)上去。
6.硬件編程(cheng)語言(yan),芯片到底是怎么做成的呢,學習完這門(men)課(ke)程(cheng),你就(jiu)很清楚了。
7.模擬電路&數字(zi)電路,硬件的基礎(chu),如果可以的話(hua),學習下(xia)protel ,自(zi)己做個硬件pcb板(ban)試試。
8.學習是關于Linux文件下應用(yong)層開(kai)發(fa),并發(fa)程序(xu)設計,Linux應用(yong)開(kai)發(fa)中的網絡編程,數據(ju)庫(ku)之sqlite3。
9.包括Zigbee系統開(kai)(kai)(kai)發,低功耗wifi網(wang)絡開(kai)(kai)(kai)發,藍牙4.0BLE開(kai)(kai)(kai)發,RFID開(kai)(kai)(kai)發,mbed 開(kai)(kai)(kai)發平(ping)臺(cortex_M4單片機),6LoWPAN、Contiki系統的(de)移植,OneNET開(kai)(kai)(kai)放云平(ping)臺
10.就可以選擇(ze)做智(zhi)能(neng)家居(ju)系統(tong)、智(zhi)能(neng)農業檢測、智(zhi)能(neng)物流倉儲系統(tong)、安防(fang)監控系統(tong)、智(zhi)能(neng)穿戴(dai)、智(zhi)能(neng)機(ji)器(qi)人(ren)小(xiao)車、無人(ren)機(ji)等(deng)項目。
下面來詳細一看:
首(shou)先C語(yu)言(yan),這(zhe)個(ge)是(shi)(shi)毋庸(yong)置疑的(de)(de)(de),不(bu)管是(shi)(shi)做嵌入(ru)式(shi)軟(ruan)件(jian)還是(shi)(shi)硬件(jian)開(kai)發的(de)(de)(de)人員(yuan),對C語(yu)言(yan)的(de)(de)(de)掌(zhang)握這(zhe)個(ge)是(shi)(shi)必需的(de)(de)(de),特別是(shi)(shi)對于(yu)(yu)以后(hou)致力(li)于(yu)(yu)嵌入(ru)式(shi)軟(ruan)件(jian)開(kai)發的(de)(de)(de)人,現在絕大部分都是(shi)(shi)用C語(yu)言(yan),你(ni)(ni)說不(bu)掌(zhang)握它可以嗎?至(zhi)于(yu)(yu)如何學(xue)習C語(yu)言(yan),我(wo)(wo)想(xiang)這(zhe)些(xie)(xie)基礎的(de)(de)(de)知識每個(ge)人都有自(zi)己的(de)(de)(de)方法,關鍵要去學(xue)習,看(kan)書也好,網上找些(xie)(xie)視頻(pin)看(kan)也好。很多人會問,C語(yu)言(yan)要學(xue)到怎么樣,我(wo)(wo)覺得(de)這(zhe)沒(mei)有標準的(de)(de)(de)答案。我(wo)(wo)想(xiang)至(zhi)少(shao)你(ni)(ni)在明白了一(yi)些(xie)(xie)基礎的(de)(de)(de)概念后(hou),就該寫代(dai)碼(ma)了,動(dong)手(shou)(shou)才是(shi)(shi)最重要的(de)(de)(de),當(dang)你(ni)(ni)動(dong)手(shou)(shou)了,遇(yu)到問題了,再反過來學(xue)習,反過來查查課(ke)本(ben),那時的(de)(de)(de)收(shou)獲就不(bu)是(shi)(shi)你(ni)(ni)死(si)看(kan)書能(neng)得(de)到的(de)(de)(de)。
其次,應(ying)該對(dui)操作系統(tong)有所了解(jie)(jie),這對(dui)你(ni)對(dui)硬(ying)件和(he)軟件的(de)(de)理(li)解(jie)(jie),絕對(dui)有很(hen)大(da)的(de)(de)幫助。應(ying)該把系統(tong)的(de)(de)管理(li)理(li)解(jie)(jie)一下,比如進程、線程,系統(tong)如何(he)來分配(pei)資源的(de)(de),系統(tong)如何(he)來管理(li)硬(ying)件的(de)(de),當(dang)然,不是看書就能把這些理(li)解(jie)(jie)透,如果不是一時(shi)能理(li)解(jie)(jie),沒關系,多看看,結合(he)以(yi)后(hou)的(de)(de)項目(mu)經驗,會有更好的(de)(de)理(li)解(jie)(jie)的(de)(de)。
還有應該(gai)學習(xi)嵌入(ru)式系(xi)統(tong),如linux或(huo)者wince下的編(bian)程,這些(xie)對以(yi)后做應用(yong)的編(bian)程很(hen)有幫助(zhu),當(dang)然,如果做手機的話,那(nei)可(ke)以(yi)學習(xi)MTK、塞班、Android等操作系(xi)統(tong),Android是以(yi)后發展的趨勢,現在(zai)很(hen)熱門,Android也是基于linux系(xi)統(tong)封(feng)裝的,所以(yi)建議先(xian)學習(xi)下linux。
還有(you),應該學(xue)習(xi)(xi)下單(dan)片(pian)機或(huo)者(zhe)(zhe)ARM或(huo)者(zhe)(zhe)MIPS,很多人說我(wo)沒(mei)有(you)單(dan)片(pian)機的經驗,直接(jie)學(xue)ARM可(ke)以嗎?我(wo)覺得(de)那完全沒(mei)有(you)問題的,當然如果(guo)你學(xue)習(xi)(xi)過單(dan)片(pian)機,那最好不(bu)過了,以后學(xue)習(xi)(xi)ARM就更(geng)簡單(dan)了。
最(zui)后(hou)如果你(ni)把以上的(de)(de)知識都有所了(le)解后(hou),就該去(qu)閱讀(du)閱讀(du)一些優秀(xiu)的(de)(de)代碼(ma)(ma)(ma),比如結合(he)arm芯片手冊(ce)學習去(qu)學習下UBOOT的(de)(de)源代碼(ma)(ma)(ma),了(le)解下最(zui)小(xiao)的(de)(de)系(xi)統開發,那對(dui)你(ni)整個嵌(qian)入式(shi)開發的(de)(de)非常有幫助的(de)(de),可以的(de)(de)話,還可以學習下linux的(de)(de)源代碼(ma)(ma)(ma),當(dang)然如果你(ni)直(zhi)接(jie)閱讀(du)2.6的(de)(de)代碼(ma)(ma)(ma),我想(xiang)(xiang)你(ni)會很痛苦(ku)的(de)(de),可以先看看linux 代碼(ma)(ma)(ma)早期的(de)(de)版本,比如0.12 的(de)(de)代碼(ma)(ma)(ma)等(deng)等(deng),麻雀雖小(xiao),五臟俱全,如果你(ni)全看完了(le),那我想(xiang)(xiang)你(ni)就是一名很成功的(de)(de)嵌(qian)入式(shi)工程師(shi)。
嵌入式基礎知識就是(shi)(shi)這些,你(ni)需要的(de)是(shi)(shi)一一來把他攻破(po),這樣對(dui)以后的(de)嵌入式學習(xi)還(huan)是(shi)(shi)很有(you)幫助的(de)。

