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