第一篇:嵌入式系統學習規劃
課程體系
1.linux應用 5天
linux 基本命令 服務器配置《linux管理員》
2.linux下C語言
編譯環境和windows不同
makemakefilegcc編譯器
3.linux環境高級編程
進程進程間通信文件操作多線程TCP/IP編程
4。arm體系結構與接口開發(硬件驅動)
5。linux系統移植交叉編譯PC—>arm
6.qt程序設計
7.驅動程序設計(linux)有操作系統的驅動,讓每一個硬件能夠工作操作系統的源代碼塊設備驅動字符設備(外設)驅動網絡設備(網卡 網絡芯片)驅動
提供一種機制(能力)能實現什么功能而不是策略(怎么干)如何使用這些功能《linux驅動程序開發設計 魏友明?》
8.項目實訓
知識體系:
處理器
arm(占20%的份額)
單片機(8051、AUR、DSP、MIPS、PowerPC。。)
操作系統
實時ucOSII,vxWorksThreadX)
非實時(WinCE linuxAndroidWindowsMobile)
驅動程序開發過程:
1.設備工作原理
2.查看電路原理圖
3.查詢數據手冊(datasheet)體系結構和驅動都需要
4.編寫代碼
第二篇:嵌入式linux系統學習規劃-新手入門
新手學堂:嵌入式Linux操作系統學習規劃
最近,許多學員在問嵌入式如何入門,他們有的是剛剛對嵌入式感興趣的大學生或是畢業后想轉行的人士,偶然在尚觀吧發現了一篇帖子,講到這方面,僅供大家參考。ARM+LINUX路線,主攻嵌入式Linux操作系統及其上應用軟件開發目標:
(1)掌握主流嵌入式微處理器的結構與原理(初步定為arm9)
(2)必須掌握一個嵌入式操作系統(初步定為uclinux或linux,版本待定)
(3)必須熟悉嵌入式軟件開發流程并至少做一個嵌入式軟件項目。
從事嵌入式軟件開發的好處是:
(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。
(2)與企業計算等應用軟件不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。
(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟件那樣容易被盜版。硬件設計一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設計軟件就變成自己的產品了。
(4)興趣所在,這是最主要的。
從事嵌入式軟件開發的缺點是:(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬件基礎不好,特別是操作系統級編程功底不深,則可能不適于此行。
(2)這方面的企業數量要遠少于企業計算類企業。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數公司也并無此要求,只要有經驗即可。
(4)平臺依托強,換平臺比較辛苦。
興趣的由來:
1、成功觀念不同,不虛度此生,就是我的成功。
2、喜歡思考,挑戰邏輯思維。
3、喜歡C
C是一種能發揮思維極限的語言。關于C的精神的一些方面可以被概述成短句如下: 相信程序員。
不要阻止程序員做那些需要去做的。
保持語言短小精干。
一種方法做一個操作。
使得它運行的夠快,盡管它并不能保證將是可移植的。
4、喜歡底層開發,討厭vb類開發工具(并不是說vb不好)。
5、發展前景好,適合創業,不想自己要死了的時候還是一個工程師。
方法步驟:
1、基礎知識:
目的:能看懂硬件工作原理,但重點在嵌入式軟件,特別是操作系統級軟件,那將是我的優勢。
科目:數字電路、計算機組成原理、嵌入式微處理器結構。
匯編語言、C/C++、編譯原理、離散數學。
數據結構和算法、操作系統、軟件工程、網絡、數據庫。
方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。不一定全學,可根據需要選修。主攻書籍:the c/c++ programming language(一直沒時間讀)、數據結構-C2。
2、學習linux:
目的:深入掌握linux系統。
方法:使用linux—〉linxu系統編程開發—〉驅動開發和分析linux內核。先看深,那主講原理。看幾遍后,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最后深入代碼。
主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。
3、學習嵌入式linux:
目的:掌握嵌入式處理器其及系統。
方法:(1)嵌入式微處理器結構與應用:直接arm原理及匯編即可,不要重復x86。
(2)嵌入式操作系統類:ucOS/II簡單,開源,可供入門。而后深入研究uClinux。
(3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm匯編指令等。
4、深入學習:
A、數字圖像壓縮技術:主要是應掌握MPEG、mp3等編解碼算法和技術。
B、通信協議及編程技術:TCP/IP協議、802.11,Bluetooth,GPRS、GSM、CDMA等。
C、網絡與信息安全技術:如加密技術,數字證書CA等。
D、DSP技術:Digital Signal Process,DSP處理器通過硬件實現數字信號處理算法。說明:太多細節未說明,可根據實際情況調整。重點在于1、3,不必完全按照順序作。對于學習c/c++,理由是c/c++不只是一種語言,一種工具,她還是一種藝術,一種文化,一種哲學理念、但不是拿來炫耀得東西。對于linux內核,學習編程,讀一些優秀代碼也是有必要的。注意:要學會舉一反多,有強大的基礎,很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種編程語言,并具有良好的邏輯思維。一定要理論結合實踐。不要一味鉆研技術,雖然擠出時間是很難做到的,但還是要留點余地去完善其他的愛好,比如宇宙,素描、機械、管理,心理學、游戲、科幻電影。還有一些不愿意做但必須要做的!技術是通過編程編程再編程編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程再編程,完了再編程,再編程!等機會來了再創業(不要相信有奇跡發生,盲目創業很難成功,即便成功了發展空間也不一定很大)。
第三篇:學習嵌入式系統感言
個人覺得培訓學校都是差不多,所學的內容都是一樣的。您不妨自己找幾個學校的課程對比下,你就知道大同小異了,培訓主要就是C、Linux和ARM課程。
我原來也想去培訓,可是家里條件不允許,我沒有那么多錢,后來我只好自學了,不懂的就上論壇問,我自己學了四個月,差不多也入門了,現在也是在做嵌入式開發。想想我自己走過的路,其實我發現,其實嵌入式并沒有想象的難,關鍵是要花時間去學,要堅持幾個月就可以了。
如果樓主還有時間,不妨自己學下。實在覺得困難的話再去培訓吧。當然,樓主如果家里經濟不錯的話,也可以去培訓吧。但是如果真的下決心要學的話,其實可以去找找自學的方法。
我把我前階段看到的一篇一個專科生如何自學嵌入式,里面有介紹了他的學習方法和學習過程的文章,給樓主看看,希望對你有幫助。
專科生學嵌入式到找到工作的前前后后--學習的榜樣
先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。
退學后我也迷茫,大專都沒有畢業,我真的不知道我能干什么,我在糾結著我能做什么。所以輟學后我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。
一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。后來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然后給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多么的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心里癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家后,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。于是我去找嵌入式培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
后來,我在百度知道看到一篇讓我很鼓舞的文章《如何學習嵌入式》,是一個嵌入式高手介紹沒有基礎的朋友怎么自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎么學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什么別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。
主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統,我是想找一個能夠告訴我該怎么學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。
后來我又找到一份很好的視頻,是在嵌入式學習網推出的一份視頻《從零基礎開始學嵌入式》,網址:http://www.FASHIONWEEKDAILY.info/evem.htm里面的教程還不錯,很完整,可以讓我從基礎的開始學起。視頻不便宜啊,但是我也忍了,畢竟買幾本書都要幾百了,何況他們還有半年的技術咨詢和服務,算值了。
下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光盤后,我就開始學習了,由于我沒有什么基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月后我基本掌握了C和linux的基本操作。
接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了ARM的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎么做的,但是驅動我只是有一點點的了解,這個相對難一點,我想以后再慢慢啃。
這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,同時我不懂的就問,這里真的很感謝他們的技術客服對我的任何問題都是耐心的解答,每天都我幾乎都有好幾個問題問他們,然后我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。
最后的一個月,我就去看關于實踐部分的內容,了解嵌入式項目具體的開發流程,需要什么樣的知識,我就開始準備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以后找工作做準備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多準備了20天左右
我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,于是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過后,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了準備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
后來陸續面試了幾家公司,終于功夫不負有心人。我終于面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是嵌入式linux應用開發,做安防產品的應用的。我想我也比較幸運,經理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500只能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
在大學生如則的身上,我們看到了一種精神,就是對認準的事情,不管多困難,多曲折,都不放棄,而且要堅定地、執著地做下去。這是在許多成功者身上我們看到的共同的東西。搞發明創造是寂寞的、艱苦的,但當一個人將它視作自己的事業和理想,它就是快樂的、充實的,堅持下去,必將看到成功的果實,世界上的許多事情亦是同理。(完)
第四篇:學習嵌入式系統心得
學習嵌入式系統心得
說實在話在沒有學習之前,以及在學之前通過一些口中得知這是一門很不錯,很有意思的一門課。而且目前是十分吃香的一門課程,如果學好了工作很好找并且待遇也很好。聽到這些,我內心非常期待上這門含金量如此之高的一門技術課。據我了解,嵌入式系統是一個很有前景的行業。學會嵌入式技術,就相當于給自己創造了更多的機會。那么,在可以預計的將來,嵌入式技術的應用會越來越廣泛。(大量的人才需求,未來五年內,國內LINUX嵌入式軟件開發的人才缺口達到120萬)
說實在的,第一天,我滿懷期望的去上這門課。可是一上課聽到老師的介紹,我就頭昏腦脹了。這是什么課啊,誰會聽得懂。猶如天書一般。
實事求是的說,嵌入式技術的全面掌握是有相當難度的。可以輕輕松松學會嵌入式技術的說法是夸大其詞了。這個就像學英語一樣,學英語無論怎樣學,不管是“瘋狂學”還是用新理念來學,真正掌握的話還是需要一步步積累才能熟練掌握。在此,我們通過短短的幾個星期簡單的了解和學習一下嵌入式,想成為這方面的高手。這些想法本身是不太現實的。我心里清楚我們需要做的是:
第一:把心踏實下來,做好打硬仗的準備。
第二:注意學習方法。盡量不要走彎路,爭取一鼓作氣入門。一旦入門了以后呢就好辦了。嵌入式技術的掌握,本身呢就比較難,要是再走些彎路,時間上會浪費,甚至會影響學習的信心。
這就是我這段時間的學習心得。
魯增慶 110402110 A11電氣
第五篇:嵌入式Linux操作系統學習規劃
嵌入式Linux操作系統學習規劃
嵌入式Linux操作系統學習規劃
ARM+LINUX路線,主攻嵌入式Linux操作系統及其上應用軟件開發目標:
(1)掌握主流嵌入式微處理器的結構與原理(初步定為arm9)
(2)必須掌握一個嵌入式操作系統(初步定為uclinux或linux,版本待定)
(3)必須熟悉嵌入式軟件開發流程并至少做一個嵌入式軟件項目。
從事嵌入式軟件開發的好處是:
(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。
(2)與企業計算等應用軟件不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。
(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟件那樣容易被盜版。硬件設計一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設計軟件就變成自己的產品了。
(4)興趣所在,這是最主要的。
從事嵌入式軟件開發的缺點是:
(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬件基礎不好,特別是操作系統級軟件功底不深,則可能不適于此行。
(2)這方面的企業數量要遠少于企業計算類企業。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數公司也并無此要求,只要有經驗即可。
(4)平臺依托強,換平臺比較辛苦。
興趣的由來:
1、成功觀念不同,不虛度此生,就是我的成功。
2、喜歡思考,挑戰邏輯思維。
3、喜歡C
C是一種能發揮思維極限的語言。關于C的精神的一些方面可以被概述成短句如下:相信程序員。
不要阻止程序員做那些需要去做的。
保持語言短小精干。
一種方法做一個操作。
使得它運行的夠快,盡管它并不能保證將是可移植的。
4、喜歡底層開發,討厭vb類開發工具(并不是說vb不好)。
5、發展前景好,適合創業,不想自己要死了的時候還是一個工程師。
方法步驟:
1、基礎知識:
目的:能看懂硬件工作原理,但重點在嵌入式軟件,特別是操作系統級軟件,那將是我的優勢。
科目:數字電路、計算機組成原理、嵌入式微處理器結構。
匯編語言、C/C++、編譯原理、離散數學。
數據結構和算法、操作系統、軟件工程、網絡、數據庫。
方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。不一定全學,可根據需要選修。主攻書籍:the c++ programming language(一直沒時間讀)、數據結構-C2。
2、學習linux:
目的:深入掌握linux系統。
方法:使用linux—〉linxu系統編程開發—〉驅動開發和分析linux內核。先看深,那主講原理。看幾遍后,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最后深入代碼。
主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。
3、學習嵌入式linux:
目的:掌握嵌入式處理器其及系統。
方法:(1)嵌入式微處理器結構與應用:直接arm原理及匯編即可,不要重復x86。
(2)嵌入式操作系統類:ucOS/II簡單,開源,可供入門。而后深入研究uClinux。
(3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm匯編指令等。
4、深入學習:
A、數字圖像壓縮技術:主要是應掌握MPEG、mp3等編解碼算法和技術。
B、通信協議及編程技術:TCP/IP協議、802.11,Bluetooth,GPRS、GSM、CDMA等。
C、網絡與信息安全技術:如加密技術,數字證書CA等。
D、DSP技術:Digital Signal Process,DSP處理器通過硬件實現數字信號處理算法。說明:太多細節未說明,可根據實際情況調整。重點在于1、3,不必完全按照順序作。對于學習c++,理由是c++不只是一種語言,一種工具,她還是一種藝術,一種文化,一種哲學理念、但不是拿來炫耀得東西。對于linux內核,學習編程,讀一些優秀代碼也是有必要的。
注意:要學會舉一反多,有強大的基礎,很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種編程語言,并具有良好的邏輯思維。一定要理論結合實踐。不要一味鉆研技術,雖然擠出時間是很難做到的,但還是要留點余地去完善其他的愛好,比如宇宙,素描、機械、管理,心理學、游戲、科幻電影。還有一些不愿意做但必須要做的!技術是通過編程編程在編程編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!等機會來了在創業(不要相信有奇跡發生,盲目創業很難成功,即便成功了發展空間也不一定很大)。
嵌入式書籍推薦
Linux基礎
1、《Linux與Unix Shell 編程指南》
C語言基礎
1、《C Primer Plus,5th Edition》【美】Stephen Prata著
2、《The C Programming Language, 2nd Edition》【美】Brian W.Kernighan David M.Rithie(K & R)著
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux應用程序開發詳解》
Linux內核
1、《深入理解Linux內核》(第三版)
2、《Linux內核源代碼情景分析》毛德操 胡希明著
研發方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP詳解》
3、《Linux內核編程》
4、《Linux設備驅動開發》(LDD)
5、《Linux高級程序設計》 楊宗德著
硬件基礎
1、《ARM體系結構與編程》杜春雷著
2、S3C2410 Datasheet
英語基礎
1、《計算機與通信專業英語》
系統教程
1、《嵌入式系統――體系結構、編程與設計》
2、《嵌入式系統――采用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系統原理與實例開發》 楊宗德著
理論基礎
1、《算法導論》
2、《數據結構(C語言版)》
3、《計算機組織與體系結構?性能分析》
4、《深入理解計算機系統》【美】Randal E.Bryant David O''Hallaron著
5、《操作系統:精髓與設計原理》
6、《編譯原理》
7、《數據通信與計算機網絡》
8、《數據壓縮原理與應用》
C語言書籍推薦
1.The C programming language 《C程序設計語言》
2.Pointers on C 《C和指針》
3.C traps and pitfalls 《C陷阱與缺陷》
4.Expert C Lanuage 《專家C編程》
5.Writing Clean Code-----Microsoft Techiniques for Developing Bug-free C Programs
《編程精粹--Microsoft 編寫優質無錯C程序秘訣》
6.Programming Embedded Systems in C and C++ 《嵌入式系統編程》
7.《C語言嵌入式系統編程修煉》
8.《高質量C++/C編程指南》林銳
盡可能多的編碼,要學好C,不能只注重C本身。算法,架構方式等都很重要。