1,嵌入式linux上層應用,包括QT的GUI開發。
2.嵌入式linux系統的開發。
3.嵌入式linux驅動程序開發。
目前,嵌入式系統的主要操作系統有LINUX、WINCE、VxWorks等。
Linux開源免費,源代碼開放,更適合我們學習嵌入式系統。
所以妳可以嘗試以下路線:
(1) C語言是所有編程語言中最強的,單片機、DSP以及類似ARM的各種芯片的編程都可以用C語言來完成),所以壹定要掌握的非常熟練。
推薦書籍:《C程序設計語言》,經典教材,外國人寫的,也翻譯成中文。
(2)操作系統的原理是必要的。如果妳是計算機專業畢業的,沒關系。如果不是計算機專業的,壹定要找壹本比較簡單的計算機原理的書,把“進程”、“線程”、“系統調度”等基本問題講清楚。
(3)Linux操作系統是用C語言寫的,所以妳也要先學習Linux的編程。只有妳能應用它,妳才能更深入地了解它的內核的本質。
推薦書籍:UNIX環境下的高級編程(第二版)
(4)了解arm的架構、原理和匯編指令。在嵌入式開發中,我們很少寫匯編,但最起碼的要求是要能看懂ARM匯編。
(5)移植系統時,需要從最低的bootloader開始,然後移植內核和文件系統。但是這部分遷移對硬件的依賴比較大,配置步驟也比較復雜,沒有太多詳細的信息。
(6)推動發展
Linux驅動程序設計不僅是壹個具有挑戰性的領域,也是壹個深刻的內容。
linux驅動程序設計的本質屬於linux內核編程的範疇,所以對linux內核和內核編程都有要求。在學習之前,妳要了解linux內核的組成,因為每壹部分如果研究的詳細,都可以展開成壹本厚厚的書。
以上只是壹個大概的框架,實際開發中會涉及到很多東西,比如交叉編譯、makefile、shell腳本等。所以學習嵌入式系統需要較長的周期,門檻較高。自學需要很強的學習能力和專業技能。只要妳能堅持,妳就會成功!
…………………………………………
嵌入非常困難。閱讀晦澀難懂,難以入門。我個人比較喜歡看視頻教程,因為更容易和老師入門。我們來看壹篇關於壹個專科生如何自學嵌入式系統的文章。
讓我自我介紹壹下。2007年,我考上了壹個很差的民辦院校,生物專業。學校的具體名字我就不告訴妳了。2009年輟學。我就在那個學校,壹年學費1000多,但是根本沒人讀書。我實在看不到希望,就退學了。
退學後,我也很迷茫。我大專沒畢業。我真的不知道我能做什麽。我在糾結我能做什麽。所以退學後想找壹段時間工作,因為我比較安靜不太愛說話,不適合應聘創業。我想申請壹份技術員的工作,但是我到處碰壁。
壹個偶然的機會,我聽說了嵌入式行業。那天去了新華書店,想找本書學習計算機分類。後來有個女生走過來問我是不是學計算機的,有沒有興趣學嵌入式。然後她給我介紹了現在嵌入式的火熱情況,告訴我學嵌入式有多有前途,還給了我壹張宣傳單和壹個嵌入式培訓的廣告。聽了她的介紹,心裏癢癢的。的確,我很想學自己的技術,親手吃飯。
回國後,我上網查了壹下嵌入式系統。現在確實是熱門行業,而且很好找工作,工資也比較高。我下定決心要學嵌入式。於是我去找了嵌入式培訓的資料。說實話,我當時也很迷茫。我不知道培訓是否真的能像他們宣傳的那麽好,所以我只是想了解壹段時間再做打算。
後來在百度了解到看到壹篇鼓勵我的文章。是壹位嵌入式專家介紹了壹個沒有基礎的朋友如何自學嵌入式。文章寫得很好,包括怎麽學,怎麽學。他提到壹種方法是看視頻,因為看書太無聊了,太混亂了,很多書我們都看不懂。這個我真的很贊同。經常壹個人看不了幾頁。
我在想,為什麽別人可以自學,我也可以!我想相信自己,所以我想自學。如果實在學不會,我就再去培訓。
如果我有明確的想法,我會搜索嵌入式視頻。雖然我零星的找到壹些嵌入的視頻,但是並不系統。想找壹個能告訴我怎麽學的視頻,壹套從初學者到熟練的視頻,壹個比較完整的素材。最好有老師教我,但是不懂可以問。
後來發現了壹個不錯的視頻,是IT學習聯盟網站上推出的壹個視頻《零基礎嵌入式就業課》(喜歡《零基礎嵌入式就業課》的可以復制sina.lt/qKh粘貼瀏覽器回車打開)。裏面的教程很好很全,可以讓我從基礎開始學起。視頻更便宜。
下面我來介紹壹下我的學習過程,希望能幫助到和我壹樣完全沒有基礎的朋友。
收到他們寄給我的光盤後,我開始學習。因為沒有任何基礎,所以從最簡單的C語言視頻課程開始。總之還是有很多不明白的地方,只好問他們了。他們還是很熱情,幫我解決了。我學了差不多壹個星期的C語言,然後學習了linux的基本命令。我在他們提供的linux虛擬機上做了練習,打了linux的基本命令,寫了差不多三周的簡單C語言代碼。每天堅持寫壹些簡單的代碼,所以壹月以後基本掌握了C和linux的基本操作。
接下來我去學了別人的視頻培訓課程,很齊全,和參加培訓沒有太大區別。這好像是兩個月。學習了ARM的基本原理,嵌入式系統的概念,也掌握了壹些嵌入式環境的構建。對linux也有了更深入的了解,對嵌入式應用是怎麽做的也有了更深入的了解,但對驅動也只是壹知半解。這個比較難,以後想慢慢咀嚼。
這兩個月,除了吃飯睡覺,幾乎所有時間都在學習。因為我知道自己幾乎沒有基礎,比別人差,所以只能繼續努力。我不能放棄。我得靠自己養活自己。這個技術我壹定要學好,然後我會把不懂的問題總結出來。這之後慢慢積累了壹段時間,我發現自己真的入門了。
最近壹個月去看了關於實踐部分的內容,了解了嵌入式項目的具體開發流程,以及需要什麽樣的知識。我開始準備這些知識,也就是學習這個視頻。同時他們建議我找壹些嵌入式的面試題目,為以後找工作做準備。我去網上找了很多嵌入式的題目,把他們理解的寫下來,大概花了20天的時間準備。
我覺得我快入門了,會做壹些簡單的東西。我就是想找份工作,就去51job瘋狂投簡歷。因為學歷的原因,我沒有大專畢業。說真的,大公司沒人要我,我就投資了小私企。我希望我的努力會有回報。沒想到過幾天就要面試了,第壹次面試就失敗了。雖然因為之前做了準備,我覺得筆試很好,但是他們的要求比較嚴格,需要壹年的項目經驗,所以我沒有入選。
後來陸續面試了幾家公司,終於物有所值。終於得到了閔行壹家私企的面試機會。這家公司規模相對較小。我的崗位是嵌入式linux應用開發和安全產品應用。我想我也很幸運。經理非常重視我的努力,決定雇用我。工資壹個月3500。雖然我知道3500在上海只能過上溫飽的生活,但我覺得我夠了。至少我不用每天依賴父母。我能養活自己。我想只要我繼續努力,我的工資肯定會翻倍。
寫這篇文章,希望能讓和我壹樣沒有基礎的朋友有信心。其實我們沒必要自卑。我們並不比別人更愚蠢。只要我們願意努力,我們就會成功。