<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • 電子工程網

    標題: 嵌入式Linux操作系統學習規劃 [打印本頁]

    作者: admin    時間: 2009-9-17 10:41
    標題: 嵌入式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本身。算法,架構方式等都很重要。


    這里很多書其實是推薦而已,不必太在意,關鍵還是基礎,才是重中之重!
    作者: kendying    時間: 2009-9-22 00:23
    說得有點多!
    作者: wlown    時間: 2009-10-14 09:27
    學習是永恒的!
    作者: phoenixmy    時間: 2009-10-14 09:28
    這是轉載還是樓主的計劃?
    作者: wsjc1999    時間: 2009-10-17 22:13
    謝謝分享。
    作者: geyingzhen    時間: 2009-10-20 13:56
    不錯,什得參考
    作者: ZigBee筆記    時間: 2009-11-13 09:08
    非常感謝,指明了學習的方向。
    作者: @︻$▅▆▇◤    時間: 2009-11-13 09:13
    不錯!
    作者: alpha321    時間: 2009-11-16 09:29
    樓主古道熱腸,各位也要行俠仗義呀!
    有貨的,把真東西拿出來關照關照大家!
    作者: freedomzlp    時間: 2010-5-28 09:11
    非常感謝,要是能夠一步一步的付出實踐 是最好的了!~
    作者: ljg53100    時間: 2010-6-8 22:47
    文章看過的 非原創。。!
    作者: huxiaoxiao    時間: 2010-7-9 09:45
    回復1樓admin
    作者: huxiaoxiao    時間: 2010-7-9 09:47
    真是非常感謝freedomzlp師兄指點迷津
    作者: huxiaoxiao    時間: 2010-7-9 09:49
    這個沒什么,很多東西都非原創,可是他會把這個東西讓大家分享,收益的也是我們,所以呢,還是要感謝的。 回復11樓ljg53100
    作者: cyber211    時間: 2010-7-18 22:48
    全弄懂了,人才
    作者: yfpbird    時間: 2010-7-20 09:19
    長期而艱巨的任務
    作者: yuanye05020404    時間: 2010-7-24 15:50
    thanks
    作者: xubin_hh    時間: 2010-8-4 23:54
    學習ing。。。
    作者: ly44770    時間: 2010-8-5 15:33
    能堅持下來嗎?
    作者: zengzhaode    時間: 2010-8-12 23:33

    作者: mc02snx    時間: 2010-10-5 22:53
    正在起步中
    作者: fangka    時間: 2010-10-10 22:49
    Linux應用程序——>Linux驅動程序——>Linux內核
    作者: lifengshun    時間: 2010-10-11 23:15
    說得好極了,但我覺得我還是走我現在的路,自動化吧!現在在這方面視覺正是我前進的方向。
    作者: HBTHGS    時間: 2010-10-15 11:24
    非常感謝,指明了學習的方向
    作者: HBTHGS    時間: 2010-10-18 18:01
    謝謝啊
    作者: sarathy    時間: 2010-10-30 18:01
    學習中。。。
    作者: mahanyu101    時間: 2010-11-13 13:19
    謝謝分享
    作者: solo_74    時間: 2010-11-14 15:03
    謝謝!
    作者: ilovepinkfloyd    時間: 2010-11-30 21:16
    謝謝分享資料!
    作者: renmingcan    時間: 2011-1-1 22:36
    看完這些都人老珠黃了
    作者: 飛貓    時間: 2011-1-13 01:18
    看看
    作者: hszx    時間: 2011-1-23 11:12

    作者: guozi    時間: 2011-2-14 19:44
    好,可以看看
    作者: williamkmcn    時間: 2011-2-19 11:53

    作者: hszx    時間: 2011-3-26 21:21

    作者: hszx    時間: 2011-4-21 22:42

    作者: hszx    時間: 2011-4-24 08:52

    作者: ghostbod    時間: 2011-4-24 10:56
    非常不錯 有參考價值
    作者: guoyanjie1984    時間: 2011-4-27 14:32
    很好,的
    作者: hszx    時間: 2011-5-7 20:04

    作者: shalione    時間: 2011-5-19 10:57

    作者: ckq1988    時間: 2011-5-22 23:48
    說的好
    作者: farce    時間: 2011-8-31 08:57
    這么多,學起來,很辛苦
    作者: liurenyin    時間: 2011-9-19 18:37
    不是一天兩天的事啊,要好好學的
    作者: bashao    時間: 2011-10-15 20:31
    不錯 很不錯  對剛開始學習的人有很大幫著
    作者: Rfdesign_2    時間: 2011-11-2 12:43
    學習
    作者: sdwenyliu    時間: 2012-9-17 16:09
    方向!
    作者: woainannanta    時間: 2012-10-15 23:14
    受益匪淺!
    作者: jixzang    時間: 2012-10-28 10:30
    搞IT就是命苦,要不斷學習。
    作者: glace12123    時間: 2012-10-31 22:36
    樓主辛苦,以上全懂了就是禿頂專家了,呵呵。。。。不過個人認為算法導論沒必要開始就去學,那個需要很強的計算機數學基礎,學術性強,新手根本不知所云。linux內核適可而止,特別是進程調度那塊,懂得運行規則即可(寫個守護進程啥的,免得自己的驅動進程莫名其妙地掛掉),不需要深入其調度原理,畢竟咱是做底層的,在深入進去,怕沒幾個人硬件出身的人能承受吧。
        還有勸看內核的人先去看看《現代操作系統》荷蘭某人寫的,后面讀內核或者做linux程序設計,要輕松得多。最郁悶就是那種只會ARM和C語言的,一去就看內核,看個半年不知所云,操作系統不是那么簡單的,先看看廣義的原理,保證比直接看十遍內核都有用。
       對了,如果像盡快打通微處理器架構和軟件的關系,強烈建議去看數字系統設計,看verilog語言是怎么設計數字系統的,一般微處理器上一個I2C總線每次只能放8位傳,自己在FPGA上設計一個I2C數字接口可以一次傳輸幾倍數據,只是多了幾個時鐘周期而已,這對做驅動的人特有用,可以深入理解各種協議。
        算對樓主得補充吧,歡迎樓下跟上
    作者: frankDZGC    時間: 2012-11-7 16:21
    講的很是細致清楚,不錯的教程規劃啊
    作者: flash08    時間: 2012-12-16 08:05
    感謝樓主把自己的學習計劃拿出來分享。不過列出的書籍清單有點多,其實每一個技術門類有一兩本經典書籍就夠用了,關鍵在于精讀!
    作者: daqshn    時間: 2013-4-12 15:02
    是不是很難學呀?
    作者: hjx589    時間: 2013-6-9 08:33
    有一點啰嗦哦
    作者: bubifengyun    時間: 2014-3-6 12:24
    謝謝,需要十年韜光養晦,十年策劃運籌,二十年后才可以出成果嗎?這么多資料啊。
    作者: yixing    時間: 2014-3-23 01:01
    努力學習
    作者: Benjoy    時間: 2014-10-10 17:28
    興趣還是最重要,否則這么多環節隨便一個環節自己都會被壓垮。
    作者: zzxydedu118    時間: 2016-1-17 14:01
    深圳信盈達專注于嵌入式開發、單片機培訓,包學會,包高薪就業。詳情小窗口袁老師:13
    083712301;QQ483059208




    歡迎光臨 電子工程網 (http://www.portaltwn.com/) Powered by Discuz! X3.4
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷