合理的學(xué)習(xí)路線有多重要,三個月教你玩轉(zhuǎn)嵌入式
合理的學(xué)習(xí)路線有多重要,三個月教你玩轉(zhuǎn)嵌入式
\\\插播一條:我自己在今年年初錄制了一套還比較系統(tǒng)的入門單片機教程,想要的同學(xué)找我(禾厶-亻言-手戈)免費的。最近比較閑,帶做畢設(shè),帶學(xué)生參加省級以上比賽///
最近網(wǎng)上好多新手問我,怎么樣進修嵌入式開發(fā)?其實這個問題很復(fù)雜,由于嵌入式開發(fā)是個非常復(fù)雜的領(lǐng)域,既有深度,也有廣度,是個軟硬聯(lián)合的領(lǐng)域。
嵌入式工程師一般分兩種:
?一類是學(xué)電子工程、通信工程等偏硬件專業(yè)出身的人,他們主要是搞硬件設(shè)計,有時要開發(fā)一些與硬件關(guān)系最密切的最底層軟件,如BootLoader、Board Support Package(像PC的BIOS一樣,往下驅(qū)動硬件,往上支持操作系統(tǒng)),最初級的硬件驅(qū)動程序等。他們的優(yōu)勢是對硬件原理非常清楚,不足是他們更擅長定義各種硬件接口,但對復(fù)雜軟件系統(tǒng)往往力不從心(例如嵌入式操作系統(tǒng)原理和復(fù)雜應(yīng)用軟件等)。
?另一類是學(xué)軟件、計算機專業(yè)出身的人,主要從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開發(fā)。學(xué)軟件的人對硬件原理和接口通常難以有較好的掌握,最多也只能寫局部BSP和硬件驅(qū)動程序。嵌入式硬件設(shè)計完后,各種功能就全靠軟件來實現(xiàn)了,嵌入式設(shè)備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統(tǒng)的最主要工作,所以搞軟件的人完全不用擔憂自己在嵌入式市場上的用武之地,越是智能設(shè)備越是復(fù)雜系統(tǒng),軟件越起關(guān)鍵作用,而且這是目前的趨勢。
而隨著開展到此時大局部人都能包容第一類和第二類。并且第一類和第二類其實是屬于一塊的。大局部時長是連接在一起的。這類開發(fā)人員具有很強的專業(yè)綜合知識,能很好的將軟硬件聯(lián)合,一般測控類專業(yè)居多。
計算機專業(yè)出身的人,假如要從事嵌入式軟件的開發(fā)也須要非常復(fù)雜的進修路線。。。。我給出了比較科學(xué)的進修路線。。。當然我也不是所有都看過,由于實在太多了
1、根底知識:
綠色圖標【?で】liutianwang123
目的:能看懂硬件工作原理,但重點在嵌入式軟件,特別是操作系統(tǒng)級軟件。
科目:數(shù)字電路、計算機組成原理、嵌入式微處理器結(jié)構(gòu)。
匯編語言、C/C++、編譯原理、離散數(shù)學(xué)。
數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)、數(shù)據(jù)庫。
方法:雖科目眾多,但都是較簡單的基礎(chǔ),且大部分已掌握。不一定全學(xué),可根據(jù)需要選修。
主攻書籍:the c++ programming language、數(shù)據(jù)結(jié)構(gòu)-C2。
2、學(xué)習(xí)linux:
目的:深入掌握linux系統(tǒng)。
方法:使用linux—〉linxu系統(tǒng)編程開發(fā)—〉驅(qū)動開發(fā)和分析linux內(nèi)核。先看深,那主講原理??磶妆楹螅辞榫胺治?,對照深看,兩本交叉,深是綱,情是目。適合學(xué)習(xí)。最后深入代碼。
主攻書籍:linux內(nèi)核完全剖析、unix環(huán)境高級編程、深入理解linux內(nèi)核、情景分析和源代。
3、學(xué)習(xí)嵌入式linux:
目的:掌握嵌入式處理器其及系統(tǒng)。
方法:(1)嵌入式微處理器結(jié)構(gòu)與應(yīng)用:直接arm原理及匯編即可,不要重復(fù)x86。
(2)嵌入式操作系統(tǒng)類:ucOS/II簡單,開源,可供入門。而后深入研究uClinux。
(3)必須有塊開發(fā)板(arm9以上),有條件可參加培訓(xùn)(進步快,能認識些朋友)。
主攻書籍:毛德操的《嵌入式系統(tǒng)》及其他arm9手冊與arm匯編指令等。
4、深入學(xué)習(xí):
A、數(shù)字圖像壓縮技術(shù):主要是應(yīng)掌握MPEG、mp3等編解碼算法和技術(shù)。
B、通信協(xié)議及編程技術(shù):TCP/IP協(xié)議、802.11,Bluetooth,GPRS、GSM、CDMA等。
C、網(wǎng)絡(luò)與信息安全技術(shù):如加密技術(shù),數(shù)字證書CA等。
D、DSP技術(shù):Digital Signal Process,DSP處理器通過硬件實現(xiàn)數(shù)字信號處理算法。
說明:太多細節(jié)未說明,可根據(jù)實際情況調(diào)整。重點在于1、3,不必完全按照順序作。對于學(xué)習(xí)c++,理由是c++不只是一種語言,一種工具,她還是一種藝術(shù),一種文化,一種哲學(xué)理念、但不是拿來炫耀得東西。對于linux內(nèi)核,學(xué)習(xí)編程,讀一些優(yōu)秀代碼也是有必要的。
注意: 要學(xué)會舉一反多,有強大的基礎(chǔ),很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種編程語言,并具有良好的邏輯思維。一定要理論結(jié)合實踐。
不要一味鉆研技術(shù),雖然擠出時間是很難做到的,但還是要留點余地去完善其他的愛好,比如宇宙,素描、機械、管理,心理學(xué)、游戲、科幻電影。還有一些不愿意做但必須要做的!
技術(shù)是通過編程編程在編程編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!最后還有最重要的一點,那就是代碼量的積累很重要,很重要,很重要!
“我是一名從事了10年開發(fā)在退休邊緣垂死掙扎的高齡程序員,最近我花了一些時間整理了一個完整的學(xué)習(xí)C語言、C++的路線,項目源碼和工具。對于想學(xué)習(xí)C/C++的小伙伴而言,學(xué)習(xí)的氛圍和志同道合的伙伴很重要,筆者這里推薦一個C語言/C++編程愛好者的聚集地/C++編程項目開發(fā)學(xué)習(xí),項目源碼,素材筆記等!歡迎初學(xué)和進階中的小伙伴。希望你也能憑自己的努力,成為下一個優(yōu)秀的程序員。工作需要、感興趣、為了入行、轉(zhuǎn)行需要學(xué)習(xí)C/C++的伙伴可以一起學(xué)習(xí)!”
下面這些是C/C++能做的:
服務(wù)器開發(fā)工程師、人工智能、云計算工程師、信息安全(黑客反黑客)、大數(shù)據(jù)、數(shù)據(jù)平臺、嵌入式工程師、流媒體服務(wù)器、數(shù)據(jù)控解、圖像處理、音頻視頻開發(fā)工程師、游戲服務(wù)器、分布式系統(tǒng)、游戲輔助等!