初學(xué)者如何開始學(xué)習(xí)嵌入式開發(fā)要學(xué)pythom 呢?新手入門全干貨!零基礎(chǔ)小白入門嵌入式開發(fā)要學(xué)什么東東?,嵌入式開發(fā)要學(xué)哪些,嵌入式開發(fā)要學(xué)那些?,計算機嵌入式軟件開發(fā)專業(yè)要學(xué)什么程序設(shè)計語言??必看
1.嵌入式開發(fā)要學(xué)什么東東?
我是做嵌入式的,我覺得學(xué)的最快的方法就是買套開發(fā)板自己開發(fā)練習(xí),如果單考看書,應(yīng)該學(xué)起來很慢且沒什么效果.因為具體到開發(fā)不同的產(chǎn)品硬件會不一樣,編譯的過程中也不一定會是書上寫的那么順利不出錯誤.而且錯誤也是不定的,只有自己真正做過一編才能夠深入了解.
2.嵌入式開發(fā)要學(xué)哪些
嵌入式開發(fā)要學(xué)哪些?在這個技術(shù)瞬息萬變的年代,嵌入式技術(shù)毫無疑問也得緊跟技術(shù)發(fā)展,這對于初涉行業(yè)的新人而言,擺在面前的問題很明顯,嵌入式開發(fā)我得學(xué)習(xí)哪些技術(shù)點才能跟隨企業(yè)的腳步呢?我愿意談?wù)勎医咏陮η度胧介_發(fā)的看法?! ∥业穆殬I(yè)生涯起步于嵌入式開發(fā),那時候在日企從事汽車的嵌入式開發(fā),*也曾當(dāng)過三年的講師。不過現(xiàn)在依然混跡于嵌入式底層,以及android底層研發(fā)??赡苓€是覺得研發(fā)才是我的*。那么針對嵌入式開發(fā)要學(xué)哪些我簡單的說一下,僅代表當(dāng)前主流觀點?! ∏度胧介_發(fā)作為新人,*步C語言,有很多人自認(rèn)為自己C語言很厲害,但是實際上一個從事嵌入式開發(fā)的老人,至少需要3-5年你才敢對C語言說精通,特別涉及到的常用的指針、數(shù)組、數(shù)據(jù)類型、運算符與表達(dá)式、控制語句時?你真的都懂么?這些是學(xué)習(xí)嵌入式最基礎(chǔ)的知識?! 〉诙剑辛诉@些代碼的基礎(chǔ)你才能能根據(jù)需求寫程序,也就是常說的應(yīng)用層,應(yīng)用層是相對簡單的。要有理解和編碼調(diào)試的能力,如系統(tǒng)編程、標(biāo)準(zhǔn)的I/O,文件I/O,庫的制作等等。一般而言這種應(yīng)用層開發(fā)有1-2個月的時間都能學(xué)會。剩下的就是大量的編碼來提升自己的經(jīng)驗。但只會這些也能找到工作,但我相信你看完下面的發(fā)現(xiàn)那絕對不是你的夢想! 第三步,更高級的內(nèi)容也是最難的內(nèi)容,前兩步更多是讓你會根據(jù)需求編碼,但是如何能讓你的程序能在硬件平臺上運行,這才是真正的難題。所以每當(dāng)再進(jìn)一步的話,我們會發(fā)現(xiàn)我們什么有很多的東西都運行的是Linux系統(tǒng),可是他們和我的PC運行的Linux有什么區(qū)別呢,為什么我電腦要用風(fēng)扇而手機不用風(fēng)扇呢,我們打開網(wǎng)頁查找手機的詳細(xì)參數(shù)的時候,會看到Cortex-A15 、四核 、ARM等等字眼,什么是ARM,什么是Cortex-A15,這需要進(jìn)一步的了解?! ×私馔闍RM之后,就需要利用開發(fā)板了。這時操作系統(tǒng)的移植又成了一個比較重要的內(nèi)容了,什么是,什么是kernel,什么是rootfs等等……?! 』撕荛L時間系統(tǒng)做好了,發(fā)現(xiàn)板子上很多的什么不能用,怎么辦呢?這時我們需要寫一些驅(qū)動來驅(qū)動這些設(shè)備,這時我們需要知道,什么是字符設(shè)備驅(qū)動、塊設(shè)備驅(qū)動、網(wǎng)絡(luò)設(shè)備驅(qū)動,為了更好的寫驅(qū)動我們需要了解更多的硬件相關(guān)的東西,我們需要看懂芯片手冊,我們需要看懂原理圖,只有我們懂我們的設(shè)備,才能更好的驅(qū)動它。等等,這里就列舉更多的內(nèi)容了,因為還有很多?! ∷詫τ谇度胧介_發(fā)者來說,他們都經(jīng)歷了學(xué)習(xí)的痛苦。有句話說的好,不經(jīng)歷風(fēng)雨怎么見彩虹。對于學(xué)習(xí)嵌入式我比較不贊成自學(xué),他不同于一般的應(yīng)用層開發(fā)。你會面臨很多問題。問百度?太慢了!來機構(gòu)學(xué)習(xí)雖然花了一部分錢,從時間成本和效率上來講,無疑還是比較值得的。
3.嵌入式開發(fā)要學(xué)那些?
嵌入式開發(fā)要學(xué)哪些呢,從我5年的工作經(jīng)驗來看,近些年跟我學(xué)習(xí)那會變化挺大的,主要是技術(shù)更新的太快,很明 顯的就是QT如今用的很少了,嵌入式開發(fā)也不在是冷冰冰的獨立設(shè)備,很多都是能于手機連,移動設(shè)備連網(wǎng)控制,這 也是物聯(lián)網(wǎng)的一個概念?,F(xiàn)在如此多的智能硬件就詮釋了嵌入式技術(shù)的改變以及拓展。 主要學(xué)哪些還是分三層:1.基礎(chǔ)C語言高級編程;2.應(yīng)用層說直白點就是基于硬件設(shè)備上面寫應(yīng)用程序,3.然后再就 是如何講這些程序能在板子上運行,那就是底層驅(qū)動這些。細(xì)的知識點太多,可以看看我母校華清遠(yuǎn)見的課程體系圖 ,其次干這行不是你學(xué)習(xí)的每個知識點都應(yīng)用得上,主要是得根據(jù)項目需求。
4.計算機嵌入式軟件開發(fā)專業(yè)要學(xué)什么程序設(shè)計語言
一、定義 嵌入式技術(shù)就是"專用"計算機技術(shù),這個專用,是指針對某個特定的應(yīng)用,如針對網(wǎng)絡(luò)、針對通信、針對音頻、針對視頻,針對工業(yè)控制等,從學(xué)術(shù)的角度,嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機系統(tǒng),它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入 式操作系統(tǒng)以及用戶的應(yīng)用程序等四個部分組成。二、分層嵌入式系統(tǒng)分為4層,硬件層、驅(qū)動層、操作系統(tǒng)層和應(yīng)用層。1、硬件層,是整個嵌入式系統(tǒng)的根本,如果現(xiàn)在單片機及接口這塊很熟悉,并且能用C和匯編語言來編程的話,從嵌入式系統(tǒng)的硬件層走起來相對容易,硬件層也是驅(qū)動層的基礎(chǔ),一個優(yōu)秀的驅(qū)動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設(shè)計的,同時還要對操作系統(tǒng)內(nèi)核及其調(diào)度性相當(dāng)?shù)氖煜さ摹5布脚_是基礎(chǔ),增值還要靠軟件。硬件層比較適合于,電子、通信、自動化、機電一體、信息工程類專業(yè)的人來搞,需要掌握的專業(yè)基礎(chǔ)知識有,單片機原理及接口技術(shù)、微機原理及接口技術(shù)、C語言。2、驅(qū)動層,這部分比較難,驅(qū)動工程師不僅要能看懂電路圖還要能對操作系統(tǒng)內(nèi)核十分的精通,以便其所寫的驅(qū)動程序在系統(tǒng)調(diào)用時,不會獨占操作系統(tǒng)時間片,而導(dǎo)至其它任務(wù)不能動行,不懂操作系統(tǒng)內(nèi)核架構(gòu)和實時調(diào)度性,沒有良好的驅(qū)動編寫風(fēng)格,按大多數(shù)書上所說添加的驅(qū)動的方式,很多人都能做到,但可能連個初級的驅(qū)動工程師的水平都達(dá)不到,這樣所寫的驅(qū)動在應(yīng)用調(diào)用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行后來打開的程序。想做個好的驅(qū)動人員沒有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是*的。驅(qū)動層比較適合于電子、通信、自動化、機電一體、信息工程類專業(yè)尤其是計算機偏體系結(jié)構(gòu)類專業(yè)的人來搞,除硬件層所具備的基礎(chǔ)*外,還要對數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)原理、編譯原理都要十分精通了解。3、操作系統(tǒng)層,對于操作系統(tǒng)層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統(tǒng),或者寫出缺胳膊少腿的操作系統(tǒng)來,這部分工作大都由驅(qū)動工程師來完成。操作系統(tǒng)是負(fù)責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤和文件的管理,而嵌入式系統(tǒng)的實時性十分重要。據(jù)說,XP操作系統(tǒng)是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統(tǒng)估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。4、應(yīng)用層,相對來講較為容易的,如果會在windows下如何進(jìn)行編程接口函數(shù)調(diào)用,到操作系統(tǒng)下只是編譯和開發(fā)環(huán)境有相應(yīng)的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統(tǒng)中涉及算法的由專業(yè)算法的人來處理的,不必歸結(jié)到嵌入式系統(tǒng)范疇內(nèi)。但如果涉及嵌入式系統(tǒng)下面嵌入式數(shù)據(jù)庫、基于嵌入式系統(tǒng)的網(wǎng)絡(luò)編程和基于某此應(yīng)用層面的協(xié)議應(yīng)用開發(fā)(比如基于SIP、H.323、Astrisk)方面又較為復(fù)雜,并且有難度了。
看了以上有關(guān)的嵌入式開發(fā)要學(xué)pythom講解,如果還有什么疑問可以直接來電咨詢。