国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

給嵌入式工程師的一封信,不怕你不會就怕你不學!

發布時間:2017-8-22 15:19    發布者:信盈達李工
嵌入式工程師的一封信,不怕你不會就怕你不學!
最近經常有用人單位打來電話,問我這有沒有嵌入式Linux方面的開發人員,他們說他們單位急需要懂得在嵌入式Linux環境下的軟件開發人員,我回答說,現在每年畢業的大學生那么多,還招不到合適的軟件開發人員嗎?他跟我說,畢業大學生雖然多,但大部分都能力不夠,不能達到他們的工作的要求。
該公司HR的一句話說出來我們現在的大學教學和大學生就業的現狀:一方面每年那么多大學生畢業找不到合適的工作,另一方面很多用人單位和企業又找不到合適的人才。造成這種現象最基本的原因是學校教育和社會需求的嚴重脫節。
造成很多嵌入式專業的學生在畢業后,還是很難達到用人單位的要求最主要的原因在于高校在嵌入式教學方面重理論和輕實踐,很多嵌入式專業的老師也沒有實際的工作經驗,這樣培養出的學生可能讓他講起來頭頭是道,但是讓他去真正編寫,調試一個應用程序就傻眼了,不知道從何下手,因為他們在學校的學習可能從來就沒有老師帶著他們實際調試過嵌入式程序,也沒有機會讓你去調試嵌入式應用程序,那些看起來非常不錯的嵌入式實驗箱大部分時間都躺在實驗室睡大覺,只有在上實驗課的時候搬出來讓大家看兩眼,摸兩下,還沒有弄明白怎么回事,又要收到實驗室睡大覺去了。這樣的教學模式,如何能培養出一名合格的嵌入式工程師呢?出現企業找不到合適的人,大學畢業生找不到合適的工作也就不奇怪了。
嵌入式專業是一門實踐性非常強的學科,只有多動手,多實踐,多編程,多調試,多看書,多思考才能真正掌握好嵌入式開發技術。
現在很多同學也意識到了學校培養模式和社會需求脫節問題,有一部分同學也先行行動起來,開始注重培養自己的實際動手能力,培養自己實際分析問題,解決問題的問題,培養自己在嵌入式專業實際編程和調試程序的能力。但是嵌入式專業不同于其他學科,嵌入式專業是一門綜合性非常強,涉及知識面非常廣的學科,對于初學者來說,面對那么多教程、課本,那么多知識點,往往不知道從何處下手,不知道哪些是重點,哪些不是重點,這些知識點之間有什么關聯,一臉的茫然,然后東一榔頭,西一棒子,折騰了幾個月甚至大半年后,還是找不著學習嵌入式的方向,還徘徊在嵌入式開發的大門之外。
那么,如何從零開始學習嵌入式開發技術, 進入嵌入式開發大門呢,筆者根據自己的嵌入式學習經歷和多年的嵌入式Linux教學經驗,談談自己對嵌入式學習的一些想法和意見,希望對大家有所幫助。
一、練好基本功
嵌入式系統專業是綜合了計算機硬件技術,計算機軟件技術以及電子電路技術的一門綜合學科,所涉及的內涵和知識非常廣泛,包括:數字電路,模擬電路,計算機組成原理,單片機基礎,C語言基礎,操作系統,數據結構,編譯原理,計算機控制,計算機網絡等知識。
在真正學習嵌入式開發之前,首先要打好基礎。其中最重要的是C語言基礎、數字電路、計算機組成原理三門課程。對于C語言,至少能單獨編寫調試一個3 ~ 500行的程序,能夠了解C語言的基本語法規則,基本語句的使用,理解指針概念并能靈活使用各種指針。
計算機組成原理要能理解組成一個計算機系統的幾大部件,計算機系統的結構,理解系統總線,理解處理器和計算機外部設備的關系,處理器和計算機外設是如何協調工作完成某一項功能的,計算機軟件和硬件是如何分工協作完成某一項任務的,理解軟件是通過寄存器來控制硬件的。
數字電路,模擬電路要了解其基本原理個概念,能看懂簡單模擬、數字電路原理圖。理解數字電路中的寄存器,時序的概念,能看懂芯片手冊和時序圖。對于其他基礎課程,重點要理解其中的一些基本概念,如何使用等等。
對于電子,自動化,通信,計算機類專業的學生,在大二、大三開設的專業基礎或專業課程中基本包含了以上的大部分課程。因為缺乏實踐,可能學得不是很深入,但是一些基本的概念和基本知識應該還是有所了解,針對一些薄弱環節,自己稍微加強學習一下,基本上已經具備了學習嵌入式開發的基礎。在嵌入式基本功學習階段,最重要的是C語言和單片機基礎,最好是能用C語言開發一個小的單片機程序,例如用C語言實現單片機和PC的串口通信,用C語言控制LED等顯示,用C語言控制數碼管顯示等小程序。在這個期間需要的學習工具就是單片機51學習開發板。
二、嵌入式Linux應用開發
嵌入式開發基礎知識學習完后,這時候你已經有了一定的嵌入式開發基礎了,可以進行基于單片機的嵌入式系統設計了。單片機編程本身也是屬于嵌入式編程,但是在這里我們只是把單片機開發當作嵌入式系統開發的基礎,不把單片機開發作為真正的嵌入式系統開發,在這里我們的嵌入式系統開發是指在帶有操作系統的嵌入式平臺上的應用和驅動開發,特別指在嵌入式Linux平臺上的開發。
單片機開發在很早以前是非常熱門的,現在在一些比較簡單的系統上單片機也用的非常廣泛,隨著硬件的成本不斷降低,在一些比較復雜的嵌入式設備一般都采用嵌入式Linux操作系統,在嵌入式Linux平臺上進行開發,這樣可以極大的提高嵌入式開發效率,提高系統的穩定性和可靠性,降低開發成本。由于Linux是一個開源的操作系統,你可以通過閱讀Linux內核來理解內核的實現機制,如果有需要,你甚至可以通過修改內核源碼來提高系統的性能;同時,全球參與Linux開發的隊伍非常龐大,網上有大量的嵌入式Linux開發資料和源代碼,很多你需要實現的功能在網上基本都能找到相關源碼,參考一下別人寫的源碼,這樣可以極大的提高自己的工作效率和技術能力,近幾年,隨著參與Linux開發的人越來越多,Linux系統的穩定性、實時性有了很大的提高,Linux系統無論在服務器上還是嵌入式設備平臺上都應用越來越廣泛,現在包括華為、中興、朗訊的各大通信巨頭都開始把自己設備的底層平臺從vxworks操作系統遷移到Linux系統,可以說嵌入式Linux是嵌入式技術發展一個方向,是嵌入式技術的一面旗幟。基于以上原因,我的建議是學嵌入式開發,就學嵌入式Linux開發,相對于wince等其他的嵌入式平臺,你可以真正學到更多的東西,學到嵌入式技術的精髓,同時他又符合嵌入式產業發展的方向,不容易被日新月異的技術發展所淘汰。
有了嵌入式開發的基礎,又知道了我們為什么要學習嵌入式Linux開發,那我們就要開始動手開始學習了,那如何開始學習嵌入式Linux開發,從哪里開始著手呢?
很多同學這時候就開始買Linux書籍,從圖書館借了一大堆關于Linux的書:什么《Linux使用基礎教程》、《Linux源碼深度分析》、《Linux情景分析等》、 《Linux高級使用指南》等等。結果抱著這些圖書看了10天半個月還是不知所云,當初學習的激情慢慢就消退了,最后不了了之,終究沒有進入嵌入式開發大門。究其原因,是因為沒有找到合適學習嵌入式開發的方法,做任何事情都有方法可循,找對了學習方法往往就能事半功倍;否則就可能是事倍功半,甚至勞而無功。接下來我先分析一下同學們的幾種常見的嵌入式Linux學習誤區,然后提出一種比較合適的嵌入式Linux學習方法。
誤區一、全身投入學習桌面或服務器版本Linux系統
很多想學嵌入式Linux 的同學經常問我,我不會Linux系統,怎么學習嵌入式Linux開發,于是他們就花費了大量的精力和時間去研究學習桌面版本Linux系統的使用,什么redhat 、federo,、ubuntu等等都用過,如何配置Linux,Linux的各種使用命令都背的滾瓜爛熟,Linux各種服務器的配置,還原備份各種操作非常熟悉,以為這樣就學會了嵌入式Linux開發。其實這是一個學習嵌入式Linux開發的誤區。
Linux桌面環境只是嵌入式Linux的一個開發工具,開發環境而已。我們的目標不是學習Linux服務器的配置和使用,Linux服務器的高級配置和使用那是另外一個領域,不屬于嵌入式Linux討論的范疇。我們進行嵌入式Linux開發,只是把Linux桌面環境當作一個工具,在Linux桌面環境下運行嵌入式Linux開發工具,例如gcc 編譯器,make工具來開發我們的嵌入式Linux應用程序而已,對于嵌入式開發工程師來說,沒有必要花費那么多的精力和時間去研究Linux桌面版和服務器的應用,只要能了解最基本的操作即可。現在的桌面Linux系統的圖形化界面做的也相當好,跟window具有相同的易用性能,例如ubuntu很多操作都可以在圖形界面下完成,就沒有必要去記每個Linux命令了。熟悉Linux桌面系統的使用和基本操作命令,安排1~2天時間學習基本就可以掌握了。
誤區二、直接閱讀Linux內核源代碼
很多想學Linux,在連Linux是什么東西,一點都還不會使用的情況下去就閱讀Linux內核源代碼,花了大量時間去閱讀《Linux源碼深度分析》、《Linux情景分析等》等書。這樣的結果很可能就是看的頭昏眼花,不知所云,最后只能放棄了。這也是同學們學習嵌入式linux的一個誤區,在有一定嵌入式Linux開發基礎后,帶著一定的目的去閱讀Linux源代碼,這樣可以極大的提高你的技術能力,但是你在沒有任何基礎,對Linux一點都不了解的情況下就去閱讀Linux內核源代碼,無異于以卵擊石,最后只能是撞個頭破血流。
以上分析了同學們學習嵌入式linux 開發的2個誤區,那么如何正確的嵌入式linux開發呢?
做任何事情都有一個循序漸進的過程,學習嵌入式Linux也一樣。在有了一定的嵌入式開發基礎后,學習嵌入式Linux開發比較適合的切入點是從嵌入式Linux應用程序開發開始,即暫時先不去關心嵌入式硬件平臺,不去關心Linux的底層驅動,先把精力集中在現有的嵌入式Linux平臺上進行嵌入式Linux應用程序設計開發。學習嵌入式Linux開發絕不是看看書就可以學好的,需要多實踐,編程調試。因為嵌入式開發不同于普通的基于PC機或服務器的應用程序開發,嵌入式開發的應用程序是要燒寫到嵌入式板卡或開發板上運行的,所以首先你要給自己購買一塊開發板。
有了開發板后,先后開始學習嵌入式Linux開發環境搭建、嵌入式Linux開發模型、Linux內核移植和文件系統、嵌入式Linux應用程序移植、嵌入式Linux多進程,多線程應用程序設計、嵌入式Linux網絡編程,如果對嵌入式數據庫或圖形軟件開發有興趣的,可以進一步學習嵌入式Linux數據庫開發或基于QT的嵌入式Linux圖形應用軟件設計。每學一章節都要通過相關實驗來驗證你從書上學到的東西,同時提高自己編寫代碼,調試程序的能力。這個過程根據不同學員的基礎不同,大概要花上1 ~ 2個月時間。學完這些課程后,你就有了在現有的嵌入式Linux平臺上進行應用程式設計開發的能力,到一些嵌入式軟件公司去,能夠勝任在現有的嵌入式Linux平臺上進行上層的應用程序開發工作。但是目前你還不能進行嵌入式Linux系統和驅動的開發,也就是說,你現在只能在一個已經構建好的嵌入式Linux平臺上進行應用程序開發,而自己還沒有能力根據實際需要去重新構建一個嵌入式Linux平臺。要讓自己有能力根據實際需要重新構建一個嵌入式Linux軟硬件平臺,這時候就需要進行下一階段的學習了,即嵌入式Linux系統和驅動開發。
三、嵌入式Linux系統和驅動開發
有了嵌入式Linux平臺上開發應用程序的基礎,你已經對Linux的功能、Linux對應用程序提供的接口和系統調用有了一定的了解,知道如何利用Linux提供的功能來進行應用程序開發,知道如何來使用設備驅動來進行應用程序設計,有了這些知識后,你就可以更深入的去學習Linux系統原理和基于Linux驅動的開發,Linux內核的裁剪,文件系統構,bootloader等等底層的知識了。
想要更深入學習嵌入式Linux系統和驅動開發,要學的內容非常多包括計算機軟件、硬件、操作系統知識。這時候你可以參照以下的學習思路,因為嵌入式Linux系統和驅動的開發,和底層硬件聯系非常緊密,所以首先我們從學習了解嵌入式硬件開始,包括:ARM體系架構、S3C2440微處理器接口設計、時鐘系統、LCD屏接口、存儲控制器及系統的存儲空間分配、NAND FLASH接口和NOR FLASH接口等。對嵌入式系統硬件有了一定的了解后,接下來就可以開始學習bootloader了,理解bootloader的概念,功能,和原理,重點掌握U-BOOT的使用和移植。接下來就開始學習嵌入式Linux內核機制,分析嵌入式Linux源碼組成、內核的模塊機制、內核進程管理、內存管理機制、Linux的中斷系統、Linux內核的移植等。有了內核的基礎,就可以學習嵌入式Linux設備驅動開發了,重點掌握字符設備驅動開發,LCD屏設備驅動開發、觸摸屏設備驅動開發、USB設備驅動開發,網卡設備驅動開發。學完這些知識點并通過相關實驗驗證后,嵌入式Linux系統和驅動的開發就算掌握了差不多了,能夠勝任絕大部分基于Linux平臺的驅動開發工作了。學完這些知識點,根據學員的不同情況,一般需要花三個月到半年時間。通過這一階段的學習,你在嵌入式Linux開發領域已經算是有了一定的功底,已經不再被人稱為菜鳥了,已經進入嵌入式Linux開發高手行列了。
四、更上一層樓
深入理解了嵌入式內核和驅動開發,這時候寫個什么驅動對你已經沒有什么問題了,開發過程中一些基本問題都難不倒你了。這時你可能想優化一下系統的性能,比如實時性,提高系統的啟動速度,或者優化系統的內存管理機制,要達到修改內核核心機制的境界,你就需要去深入去研讀Linux內核源碼了,參考《Linux源碼深度分析》、《Linux情景分析等》等Linux源碼分析的書籍,深入理解Linux各部分的實現機制和原理,以及可能存在的問題。你只有在深入理解現有代碼和實現機制的基礎上,才能提出更好的改進方案。如果你能達到這個境界,那你已經是高手中的高手,可以笑傲群雄了。

本文地址:http://m.qingdxww.cn/thread-516043-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
拓博虎 發表于 2018-4-26 18:22:08
感謝分享!!!
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本一区二区三区免费看 | 99re66热这里都是精品 | 国产欧美在线观看精品一区二区 | 亚洲国产成人成上人色 | 热久在线| 二区国产| 日本欧美在线 | 激情文学在线视频 | 午夜羞羞视频在线观看 | 久久影院视频 | 六月婷婷激情 | 91精品国产麻豆福利在线 | 99热精品久久 | 99视频在线永久免费观看 | 四虎影视在线播放 | 综艺在线看免费高清 | 国产免费一区不卡在线 | 国产 日韩 在线 | 久久精品国产亚洲麻豆 | 国产高清视频一区二区 | 国产一级视频 | 性欧美在线| 黄视频免费网站 | 久久青青草视频 | 欧美xxxx新一区二区三区 | 污视频网站免费看 | 91免费版网站| 欧美一区二区三区视频在线观看 | 在线看欧美日韩中文字幕 | 97青青| 日本va在线观看 | 欧美日韩精彩视频 | 国产精品久久久久久久久kt | 久久久久国产一级毛片高清片 | 欧美成人h版影院在线播放 欧美成人h版影片在线观看 | 天堂网视频在线观看 | 日韩乱视频 | 一区二区三区四区在线 | 欧美人与d0gxxx | 国产高清在线免费观看 | 欧美亚洲国产精品久久久久 |